NO otra pregunta de Arduino vs. Raspberry Pi [cerrado]

0

He desarrollado un interés en la electrónica, más específicamente en llegar a la raíz de cómo funciona mi sistema operativo. Mi objetivo en los últimos años ha sido aprender todo lo que puedo sobre cómo funciona el sistema operativo para que algún día pueda contribuir a un proyecto de código abierto, o tal vez comenzar un proyecto por mi cuenta. Sin embargo, durante los últimos meses, me he interesado en un enfoque más ascendente, y realmente quiero empezar a meterme en el lado del hardware. El problema es que carezco de vocabulario para describir qué es lo que me interesa conocer.

Tengo bastante experiencia en el manejo de microcontroladores de mis días de robótica en la escuela secundaria, pero el modelo particular que usamos dejó mucho a la imaginación en lo que respecta a procesos más fundamentales (ensamblaje, manejo de CPU, etc.) No aprendí nada. sobre condensadores, transistores, resistencias, etc. Mi objetivo es remediar esto.

A mi entender, Arduino sería un buen punto de partida, pero según lo que he escuchado, su filosofía es ocultar los detalles más técnicos con la intención de agilizar el proceso de desarrollo. Esto no me interesa. También he oído hablar de Rasberry Pi, pero la capa de SO parece más un obstáculo adicional para lo que tengo en mente. ¿Existe algún tipo de solución todo en uno que me exponga a todos los conceptos más importantes, pero al mismo tiempo me permita hacer un uso práctico de mis proyectos?

¿Cuál es un buen punto de partida para alguien en mi situación? ¿El mundo del microcontrolador es tangencial a mis objetivos generales? Si Arduino y Rasberry Pi no son mis mejores opciones, ¿hay alternativas sin ninguna mierda? ¿Qué pasa con las alternativas virtuales? ¡Los consejos generales son bienvenidos!

    
pregunta Sketchyfish

1 respuesta

4

Ya que realmente desea conocer los detalles de bajo nivel, no obtenga sistemas listos para usar que pretenden, en parte, ocultar esos detalles.

Comience por obtener un microcontrolador vacío y conéctelo a una placa de pruebas. Creo que uno de los PIC de 16 bits (series 24, 30 o 33) en un paquete de 28 pines es un buen comienzo. Programe en ensamblador, no en C. Los compiladores están nuevamente diseñados para ocultar los detalles de bajo nivel que desea conocer. También necesitarás algún tipo de programador / depurador. El PicKit3 es probablemente la mejor opción actual para esto. Con el PicKit3 entre el micro y su PC, puede realizar un solo paso en el nivel del código fuente en el IDE gratuito llamado MPLAB.

El simple hecho de poner en funcionamiento el chip a una tasa de instrucción conocida requerirá más investigación y aprendizaje que probablemente se dé cuenta. Una vez que tenga eso, puede escribir un bucle para alternar un pin de salida y verlo en el alcance. Si hiciste todo bien, oscilará en la frecuencia predicha.

Después de eso, intente usar un temporizador para configurar una interrupción periódica cada 1/2 segundo para cambiar el estado de una línea de salida. Haga que esa línea conduzca un LED y vea que en realidad está parpadeando a 1 Hz. Comenzando desde cero, esto no es tan fácil como puede parecer.

Después de eso, las cosas serán más fáciles. Ahora prueba tu primer proyecto real. Lo que sea depende de lo que quieras construir.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas