eso es una verdad
todos se sientes amos y señores del PIC16f84a y hacen de videos ufff
solo prenden un led y leen un boton diciendo la segunda parte continuara pasan los años y ahi queda.
temas a seguir para un estudio verdadero:
aprender un lenguaje estandar C, BASIC .
ASM esta bien que lo repases pero si quieres aprender a mover varios microcontroladores de diferentes familias habra conflictos.
1.-tratar de leer hoja de datos del microcontrolador ,que hace , que tiene como esta hecho y sus registros "una leida rapida a grandes rasgos"
2.- informarse de ese micro ver que han hecho con el que se puede y no puede hacer con el.
3.-tratar de ver que familias del fabricante del micro te pueden servir para diferentes propositos
almenos yo veo COSTO y memoria cuando la velocidad no es critica
tema 2:
si ya sabes algun lenguaje estandar como C o basic tratar de hacer ejercicios numerios , de cadenas de caracteres ,etc. como lo harias en una PC es basicamente lo mismo si se trata de un lenguaje que debe ser ANSI
1.- en el caso de C tratar de hacer en el micro arrays o vectores
int numero [3]= {1,2,3,4};
y tratar de enviar eso atraves de un puerto ejemplo puerto B
while(1)
{
for(i=0;i!=4;i++)
{
outputb(numero);
}
}
aqui envie mi array por el puerto
2.-tratar de conocer instrucciones rapidas para no gastar memoria ni ciclos de reloj como son
funciones logicas como AND ,OR ,XOR ,NOT
y la mas util de todas la de ROTAR a la izquierda o derecha un registro
muy util
3.-tratar de entender el hardware
como es SPI, UART, ADC , e interrupciones
las interrupciones de tiempo son muy utiles son pequeños relojes que nos permiten administrar el tiempo de ejecucion de un programa del microcontrolador.
4.- una vez entendido la interrupcion por timer
tratar de hacer retardos SIN atorar el micro cosa que los delay , while y for hacen.
5.-hacer comparaciones de tiempo de ejecucion que hace un if y un switch case
el switch case es mas rapido y genera menos bugs en comparacion del IF los if son buenos pero en tiempo de ejecusion es mas lento
6.- tratar de buscar temas aserca de la maquina de estados y la ejecucion multitarea.
7.-tratar de hacer hardware basico como un display 7 segmentos, un display 7 segmentos multiplexado, LCD 16x2 , DAC 8 bits , un aplificador con un LM386 , un tecladito , talves un buzzer
una barra de leds muy util la barra para encender todo un puerto y un adaptador RS232 .
sugiero que tengas este hardware en plaquitas para no armar protoboards a cada rato.
8.- leer acerca de tu compilador que estes usando y probar algoritmos tanto en el micro como en una PC para ver las diferencias.