Autor Tema: Cómo programar pic 16F en C?  (Leído 3230 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jollomar

  • PIC10
  • *
  • Mensajes: 14
Cómo programar pic 16F en C?
« 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

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Cómo programar pic 16F en C?
« Respuesta #1 en: 05 de Julio de 2007, 12:27:34 »
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!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Cómo programar pic 16F en C?
« Respuesta #2 en: 05 de Julio de 2007, 13:06:08 »
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

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado jollomar

  • PIC10
  • *
  • Mensajes: 14
Re: Cómo programar pic 16F en C?
« Respuesta #3 en: 06 de Julio de 2007, 03:45:13 »
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!!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Cómo programar pic 16F en C?
« Respuesta #4 en: 06 de Julio de 2007, 04:25:48 »
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 de Vszener y
Microcursillo en C de Nocturno.

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

Midiendo un pulso. 1ª Parte. Tiempo en Alto con INTEXT
Midiendo un pulso. 2ª Parte. Tiempo en Alto con INTCCP
Midiendo un pulso. 3ª Parte. Tiempo en Alto con INTRB
Midiendo un pulso. 4ª Parte. El pulso completo. El Periodo y la Frecuencia
Generando un pulso. 1ª Parte. Onda simétrica con INTRTCC
Generando un pulso. 2ª Parte. Onda Simétrica Mediante INTCCP en modo Compare

Ejemplitos 16F876A
******************
Ejemplitos 16F876A: Indice de contenidos

Cómo variar un ancho de pulso generado con RTCC mediante la RS232
Conversion Digital-Analógico con el PCF8591 vía I2C
Temperatura y Luminosidad con un LM35a y una LDR (Conv. AD)
Lo mínimo para comunicarnos vía RS232 Hardware y Software
Rastreando un Teclado Matricial 4x4 y enviando a la RS232
Recibiendo del RS232 sobre un Buffer y procesandolo posteriormente.
Desde el PC a una EEPROM I2C y viseversa a través de mi PIC
Controlando un SERVO con el PIC desde nuestro PC
El Termo-Servo o un servo controlado por temperatura.
La EEPROM interna puesta a nuestro servicio.

Mis Funciones favoritas en CCS C
********************************

Mis Funciones favoritas en CCS C

Otros en C
**********

Decodificando un protocolo IR y obteniendo direcciones y comandos.
Manejando Arrays de Bits (simulado en CCS C que no lo implementa)


Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado jollomar

  • PIC10
  • *
  • Mensajes: 14
Re: Cómo programar pic 16F en C?
« Respuesta #5 en: 06 de Julio de 2007, 08:23:12 »
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!!