Estoy tratando de responder algunos puntos de su pregunta de manera más directa, para dar ejemplos de dónde esta información no es suficiente. Las especificaciones básicas que enumera no están completas, sino solo una descripción general. Cada una puede dividirse en más preguntas relacionadas, que deben responder en las hojas de datos:
No. de pines digitales:
¿Cuántos son 5V tolerantes? Voltajes más altos? ¿Colector abierto o emisor? ¿Disponible para periféricos de nivel superior (temporizadores, desplazadores de bits, etc.)? ¿Cuántos se pueden leer o actualizar simultáneamente?
No. de pines analógicos:
¿Entrada o salida? ¿Cuántos bits de precisión? Tecnología (delta-sigma, PWM, R2R ..)? ¿Con qué frecuencia se pueden medir? No es raro en absoluto que no puedan medirse al mismo tiempo.
SRAM:
¿La pila entra en la memoria RAM o se separa? ¿Que tan ancho es? ¿Se pueden apagar las piezas para reducir el consumo de corriente? ¿Se puede ejecutar el código desde la RAM?
EEPROM:
De nuevo, ¿ancho? ¿Cuánto tiempo se tarda en leer o escribir? ¿Cuáles son los requisitos de alimentación (a menudo se necesita un voltaje más alto para completar una escritura aquí)?
Flash:
¿Auto programable (por lo que uno podría tener un gestor de arranque)? ¿Se pueden leer los datos de Flash? ¿Se pueden usar todos esos bits para datos? ¿Cuántas operaciones (y de qué escala) puedo encajar en este tamaño?
Voltaje de funcionamiento:
¿Para qué rangos de frecuencia? ¿Las E / S toleran voltajes más altos que la fuente de alimentación? ¿Necesitamos rieles de suministro separados para analógico y digital, núcleo y E / S?
Ahora, todos los días se pueden programar en C, y mientras se codifica solo se necesitan las primeras 5 informaciones, todas las demás se pueden encontrar fácilmente en los encabezados.
En realidad, unos pocos pueden programarse en algo que solo se parece a C, y mucha información no estará presente en los encabezados, como los mapas de puertos a los cuales pin. A menudo esto variará dependiendo del paquete. Esto también es solo raspar la superficie, ya que encontrará que algunos controladores implementan hardware para propósitos muy diferentes, como subprocesos, IPC, sistemas de eventos, DMA, etc. que pueden ser críticos para un uso e irrelevantes para otro.
Entonces, dentro de una familia, una visión general del tipo que se muestra puede ser suficiente, pero generalmente habrá muchos más parámetros para comparar (número de temporizadores, por ejemplo). Depende mucho de la tarea.
FWIW, los AVR también son populares en la industria, pero a veces se evitan por razones específicas, como un solo proveedor, disponibilidad y resistencia.