¿Cómo llegamos a dominar estos dispositivos que hoy integran miles y miles de componentes?
Solo imagino dos caminos posibles para llegar a dominar estas herramientas. El primero (la vía corta) es simplemente tomar uno de ellos y comenzar a experimentar para adquirir experiencia. El otro, es mucho más largo y costoso, pero al final tendremos un mayor control, lo que nos conduce a un mejor aprovechamiento de estos dispositivos. Aquí es donde me gustaría realizar un breve resumen de los conocimientos necesarios que todo electrónico debería recorrer a modo de mapa del conocimiento, así como ha mencionado Rodolfo:
Pudiendo reconocer los conocimientos listados, sabremos que contamos con una base medianamente sólida para comprender las estructuras que conforman un microcontrolador.
Algunos de los aspectos más importantes en el estudio de los microcontroladores, es la comprensión de sus funciones periféricas, ya que al comprenderlas individualmente, habremos resuelto la mayoría de los asuntos para cualquiera de ellos, pues para unos u otros, el comportamiento es en muchos casos idéntico, ya que desde un punto de vista de la manufactura de hardware se suele reutilizar la estructura o se mejora a partir de un modelo conocido, de otro modo sería muy costoso crear soluciones desde cero y mucho menos sentido tendría cambiar un sistema que ya es confiable. Algunos periféricos comúnmente encontrados son por ejemplo: Puerto digital de lectura o escritura, controlador de display, sensores capacitivos, conversores analógico a digital y viceversa, temporizadores, contadores, comparadores, moduladores por ancho de pulso, puertos seriales o paralelos.
Además de los periféricos de un microcontrolador, tenemos las características del dispositivo en cuestión, como podría ser la rapidez de procesamiento configurable, la protección del código, los tiempos en alcanzar la estabilidad del reloj, los voltajes de operación, los consumos en diferentes modos de operación.
También es fundamental hacer referencia a los parámetros del dispositivo, de la CPU y los diferentes componentes internos como son: Dimensiones del empaquetado y tipo (SMD, THT), set de instrucciones del lenguaje de programación, ciclos de instrucción, niveles de la pila de instrucciones, tipos de memoria disponible y su capacidad (memoria flash, memoria eeprom)
Y por supuesto la comprensión de su arquitectura interna, que nos permite relacionar todo lo antes mencionado en el paquete que conocemos como microcontrolador y que nos permitirá hacer uso de sus herramientas por medio de las instrucciones básicas.