TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jollomar en 05 de Julio de 2007, 07:39:36
-
Hola a todos,
Me introduje esta semana en el mundo PIC. Ya tengo mi PICDEM2 plus con MPLAB ICD2. Hace tiempo que no programo en ensamblador, y me gustaría casi que empezar directamente en C.
¿Qué necesito para programar C sobre micros 16F? ¿Vale la pena utilizar un RTOS? El último desarrollo que he hecho ha sido sobre un módulo 802.11 de lantronix. Lleva un RTOS y se programa en C. Al principio me costó un poco cogerme, pero luego programar sobre él ha sido una gozada. No se si me veo con ganas de retomar el ensamblador (aunque me gusta). Programar en C resultaría más sencillo. Ademas lo que más voy a utilizar son comunicaciones UART (RS232) y I2C con memorias, y no se si es más fácil hacer esto en C o en ensamblador (supongo que en c,no?). Tampoco voy a programar aplicaciones que necesiten una velocidad descomunal así que tampoco me preocupan los MIPS.
Un saludo y gracias de antemano
-
Para programar en C te hace falta un compilador y tener muchas ganas de aprender.
Con respecto al RTOS, pues es bastante interesante cuando tienes diversos drivers de comunicaciones conectados, aparte te facilita la programación bastante, aunque tienes tener en cuenta los tiempos de computo y que no se solapen unas tareas con otras.
En este subforo encontrarás bastante ayuda sobre C.
Suerte!!! ;)
-
hola jollomar
te recomiendo que mejor domines primero el lenguaje y después volques el estudio al rtos.
el requerimiento que trae el c es que se necesita mayor espacio de memoria de programa que en asm
-
Hola,
ayer ya estuve trasteando con el ensamblador, encendiendo leds, pulsando botones, etc. Cosas sencillitas.
Bueno, a lo que me refería yo era a qué compilador me recomendais. Programo en C hace tiempo, y en un principio el tamaño del programa me preocupa poco porque de momento sólo voy a utilizar el micro como interfaz de comunicaciones, que conecte una memoria externa a un módulo de comunicaciones Bluetooth a través de la UART. He oido hablar del CSS, pero antes de pedir la licencia quiero estar seguro de que es lo que necesito. Estuve mirando el C18 de microchip, pero parece que no vale para pic16. Hay algun compilador de C de microchip para los 16? Si no, ¿cuál es el que más os gusta y por que?
Muchas gracias!!
-
Microchip no tiene compilador de C para la serie 16F.
En mi caso me decidí por el CCS porque era el mas utilizado en este Foro y por ello era el compilador para el que tenía mas probabilidades de recibir ayuda con fundamento. Y con él estoy desde entonces y me va razonablemente bien.
Aprendí con los hilos de los maestros Ejemplitos en C para 16F648A (http://www.todopic.com.ar/foros/index.php?topic=4530.0) de Vszener (http://www.todopic.com.ar/foros/index.php?action=profile;u=3035) y
Microcursillo en C (http://www.todopic.com.ar/foros/index.php?topic=4533.0) de Nocturno (http://www.todopic.com.ar/foros/index.php?action=profile;u=2197).
Y posteriormente con este compilador he realizado por mi parte también una serie de hilos para principiantes:
Serie Técnias en C
******************
Serie Técnicas en C : Presentación e Indice de Contenidos (http://www.todopic.com.ar/foros/index.php?topic=14427.0)
Midiendo un pulso. 1ª Parte. Tiempo en Alto con INTEXT (http://www.todopic.com.ar/foros/index.php?topic=14428.0)
Midiendo un pulso. 2ª Parte. Tiempo en Alto con INTCCP (http://www.todopic.com.ar/foros/index.php?topic=14479.0)
Midiendo un pulso. 3ª Parte. Tiempo en Alto con INTRB (http://www.todopic.com.ar/foros/index.php?topic=14528.0)
Midiendo un pulso. 4ª Parte. El pulso completo. El Periodo y la Frecuencia (http://www.todopic.com.ar/foros/index.php?topic=14434.0)
Generando un pulso. 1ª Parte. Onda simétrica con INTRTCC (http://www.todopic.com.ar/foros/index.php?topic=14531.0)
Generando un pulso. 2ª Parte. Onda Simétrica Mediante INTCCP en modo Compare (http://www.todopic.com.ar/foros/index.php?topic=14590.0)
Ejemplitos 16F876A
******************
Ejemplitos 16F876A: Indice de contenidos (http://www.todopic.com.ar/foros/index.php?topic=4531.0)
Cómo variar un ancho de pulso generado con RTCC mediante la RS232 (http://www.todopic.com.ar/foros/index.php?topic=4813.0)
Conversion Digital-Analógico con el PCF8591 vía I2C (http://www.todopic.com.ar/foros/index.php?topic=4811.0)
Temperatura y Luminosidad con un LM35a y una LDR (Conv. AD) (http://www.todopic.com.ar/foros/index.php?topic=4587.0)
Lo mínimo para comunicarnos vía RS232 Hardware y Software (http://www.todopic.com.ar/foros/index.php?topic=4620.0)
Rastreando un Teclado Matricial 4x4 y enviando a la RS232 (http://www.todopic.com.ar/foros/index.php?topic=4807.0)
Recibiendo del RS232 sobre un Buffer y procesandolo posteriormente. (http://www.todopic.com.ar/foros/index.php?topic=4573.0)
Desde el PC a una EEPROM I2C y viseversa a través de mi PIC (http://www.todopic.com.ar/foros/index.php?topic=4783.0)
Controlando un SERVO con el PIC desde nuestro PC (http://www.todopic.com.ar/foros/index.php?topic=4629.0)
El Termo-Servo o un servo controlado por temperatura. (http://www.todopic.com.ar/foros/index.php?topic=4746.0)
La EEPROM interna puesta a nuestro servicio. (http://www.todopic.com.ar/foros/index.php?topic=4639.0)
Mis Funciones favoritas en CCS C
********************************
Mis Funciones favoritas en CCS C (http://www.todopic.com.ar/foros/index.php?topic=4641.0)
Otros en C
**********
Decodificando un protocolo IR y obteniendo direcciones y comandos. (http://www.todopic.com.ar/foros/index.php?topic=13120.0)
Manejando Arrays de Bits (simulado en CCS C que no lo implementa) (http://www.todopic.com.ar/foros/index.php?topic=15860.0)
-
Guau RedPic,
fantásticos esos hilos. Pues entonces me voy a decantar por el CCS. Cuando lo tenga y lo pruebe os comento.
Muchas Gracias!!