Programación Específica > Programación en C

 Programar En C...

(1/2) > >>

Huguen_aus_Tirol:
Hola! Nuevamente yo...
Bueno, quiero ponerme un poco a programar en C, pero hasta ahora siempre lo he hecho en asembler.
Hace un tiempo me baje el demo de Microchip, y escribí algo de código muy simple, que corrió en un 18F; pero al complicarlo un poco la cosa ya no funcionó :angry:
Se que hay varios compiladores dando vuelta, y ese es el problema: cuál de ellos conviene? Posiblemente el de Microchip sea el mejor, por lógica...
También veo que hay compiladores solo para los 16F; creo que conviene tener uno que soporte también los 18F.
Si alguién tiene algunos programitas de ejemplo, o sabe de algún link, o cualquier cosa, le estoy enormemente agradecido. En especial en lo que se refiere al manejo de los periféricos (AD, timers, etc...)

Bueno, desde ya las gracias a todos!

© Jonathan ©:
Bueno, yo estoy en lo mismo, me parece mas simple y no seria malo saber por si acaso. En el FTP deje un manual que estoy leyendo en este momento.. todo lo que creas que sea util te invito a que lo coloques en el FTP, o dejes los links y yo me hago cargo. Gracias :)

Manual C para PIC

J1M:
Pues yo programo en CCS, no tendreis problemas en encontrar la version 3.221 (la ultima...y con pozima mágica de invulnerabilidad jejejej) claro q si lo vais a usar con fines comerciales, y en ningun caso educativos...en la página de ccs podeis adquirirlo ;)

El C18 de Microchip tb es muy potente, por experiencia (de una año hacia aká), encontrareis mas ejemplos, y librerias ya creadas para el CCS

Salu2!

Huguen_aus_Tirol:
Hola! Navegando por la red encontré lo siguiente:

http://www.picant.com/c2c/c.html

Pude bajar un compilador C de esta dirección, que se integra al MPLAB y soporta los 16F y los 18F. Lo acabo de instalar sin problemas; pero ahora estoy sin saber para donde ir :( .
Tengo abierto el manual que bajé del ftp de solo código, y está interesante... pero sigo ahí.
Quiero empezar a probar con el 16F873, ya que me es más familiar que el 18F452.
Bueno, espero que el link sea útil; y si alguien tiene algún ejemplito como para empezar, será bienvenido! :)

Saludos!

Huguen_aus_Tirol:
Hola! Estuve practicando con el compilador C que bajé, y despacito está yendo :)
Viendo que nadie tiene ejemplos, aqui les dejo algo tonto que conseguí hacer, y funciona! :D
Es un pequeño programita para escribir en un CD4094; la cuestión es que con la poca información que tengo (el manual que dejó Jonathan, que está muy útil, y el help del compilador) pude hacer esto. Me llevó algo de tiempo, pero estoy aprendiendo...  Bueno, espero que le sea útil a quien se esté inciando.
Ah, el programa lo cargo en un 16F873.

Saludos y gracias por la ayuda! :)
/*   PROGRAMA DE PRUEBA

   Hugo Erhard
   12.03.2005
*/
#include <system.h>

#pragma DATA 0x2007, 0x3D31;

char zaehler94;

/*
Rutina para escritura de un byte en un CD4094
   RA1 -> strobe
   RA2 -> datos
   RA3 -> clock
*/
void schreib_4094( char date )
{
   char i;

   i = 0;
   while( i < 8 )               //son 8 bits a escribir
   {
      if ( date & 0x01 )         //es el bit0 = 1?
         set_bit( porta, 2 );   //si, saco un 1
      else
         clear_bit( porta, 2 );   //no, saco un 0
      set_bit( porta, 3 );      //clockeo
      clear_bit( porta, 3 );
      date = date >> 1;         //y preparo para sacar proximo bit
      i += 1;                  //incremento contador de bits a sacar
   }
   set_bit( porta, 1 );         //doy pulso de strobe para confirmar
   clear_bit( porta, 1 );
}

void main()
{
   trisa = 00000001b;
   trisb = 00000000b;
   trisc = 01011001b;

   zaehler94 = 0;               //inicio contador en 0
   while(1)
   {
      set_bit( porta,4 );         //apago led
      delay_s( 1 );            //espero 1 segundo
      clear_bit( porta,4 );      //enciendo led
      delay_s( 1 );            //espero 1 segundo
      schreib_4094( zaehler94 );   //escribo el 4094
      zaehler94 += 1;            //incremento valor a escribir en el 4094
   }
}</li>

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa