Una manera sencilla de aprender a programar pic ?

Mi consejo es que leas MUCHOS códigos. Al cabo de un tiempo te darás cuenta de que hay autores que escriben muy bien, muy claro, y con comentarios descriptivos. Otras veces, el propio código es tan descriptivo que no necesita comentarios. En sitios como github hay mucho código que puedes leer.

Y un día... empezarás a escribir tus propios códigos. Copia el estilo de aquellos códigos de otros programadores que más te gusten: su forma de nombrar las variables, las subrutinas; la forma de reservar memoria, hacer uso de ella; cómo usar interrupciones en lugar de bucles de espera; cómo ahorrar energía al máximo parando el µprocesador.

En Youtube tienes un montón de material. No siempre en español, pero con los subtítulos puedes hacerte una idea.
 
A día de hoy yo te recomendaría aprender C y no bajar al ensamblador.
Es cierto que saber cómo va el ensamblador y como compila el compilador y que código genera viene bien en muchos casos, pero creo que es un tiempo al que le vas a sacar poco rendimiento hoy en día.
No hay una forma de aprender a programar rápido, de hecho pienso que a programar nunca se aprende, se va evolucionando y "creciendo" siempre.
Tras saber lo básico y trastear unos cuantos ejemplos te puedes liar con pequeños proyectos, las cosas se aprenden cuando te hacen falta usarlas para algo.
A todos nos pasa pero intenta no cerrarte a lo que ya sepas, y estate abierto a aprender nuevas técnicas y formas de hacer.




Ah y sobre todo nunca uses delays, claro. Son el Ébola de la programación.
 
Aca hay que entender algo: una cosa es aprender a programar y otra muuuuy diferente es aprender a programar un microcontrolador, por que si bien los tipos de datos, estructuras de control e incluso el propio lenguaje son exactamente iguales, para lo segundo necesitas saber electronica digital y para lo primero no...y ahi esta lo mas dificil.
 
si es cierto no es lo mismo programar en una plataforma como una computadora de escritorio a un microcontrolador pues generalmente tienen poca RAM y muchos registros que hacen muchas cosas para quitar carga al CPU.
es cierto que se puede tener I2C , SPI, PWM ,uart , etc. Todo escrito a software pero eso ocupa lineas de codigo hace lento el programa y es ineficiente por eso hay que leer la hoja de datos del microcontrolador y ver como esta construido el micro , como esta distribuido su hardware interno y como están configurados y como se configuran los registros e interrupciones .

no es necesario aprender ASM pues muchos fabricantes ponen ejemplos en C y sobre todo debes tener conocimientos firmes de electronica digital para hacer que el microcontrolador funcione correctamente.
puedes ser un buen programador pero si no sabes electronica estas mal, puedes saber electronica pero si no sabes programar esta igualmente mal.
 
Si vas aprender C, lo más sencillo es arrancar en una PC que te ofrece mil herramientas para ver donde te equivocaste.

Y cuando te metés si a nivel de hard (no vale la pena molestarse en una PC, salvo que realmente quieras o lo necesites), ahí si lo mejor es usar un uC de cualquier empresa, leerte bien la hoja de datos y emplear el conocimiento en C que aprendiste antes.

¿Podés meterte con C y un uC de una? Si, sin dudas, el tema es que lo mejor sería que tengas herramientas como un Jtag para debuggear y/o tener resuelto una salida de información como un puerto serie o un display (siempre se puede usar un LED que indique algo, pero a la larga se vuelve tediosa esa forma).
 
Atrás
Arriba