TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Palomino86 en 03 de Abril de 2011, 22:07:05
-
Tenga una duda acerca la declaración de pines en Hi Tech.
En C18 lo hago de la siguiente manera:
//Definición de pines a utilizar
#define SCLK RC3 //Pin de Clock de DS1302
#define IO RD0 //Pin de Datos de DS1302
#define RST RD1 //Pin de Enable de DS1302
//Definicion de los Bits de los TRIS
#define TrisSCLK TRISC3 //Pin de Clock de DS1302
#define TrisIO TRISD0 //Pin de Datos de DS1302
#define TrisRST TRISD1 //Pin de Enable de DS1302
No se como realizar lo mismo en Hi Tech PIC C, he estado buscando pero creo que no he dado con el clavo. Ojala alguien me pudiera hechar la mano.
Saludos
-
Al parecer es igual.
Yo declaré unos pines así y funciona
#define TxPin RA0
#define RxPin RB1
-
Tenga una duda acerca la declaración de pines en Hi Tech.
En C18 lo hago de la siguiente manera:
//Definición de pines a utilizar
#define SCLK RC3 //Pin de Clock de DS1302
#define IO RD0 //Pin de Datos de DS1302
#define RST RD1 //Pin de Enable de DS1302
//Definicion de los Bits de los TRIS
#define TrisSCLK TRISC3 //Pin de Clock de DS1302
#define TrisIO TRISD0 //Pin de Datos de DS1302
#define TrisRST TRISD1 //Pin de Enable de DS1302
No se como realizar lo mismo en Hi Tech PIC C, he estado buscando pero creo que no he dado con el clavo. Ojala alguien me pudiera hechar la mano.
Saludos
¿Como hiciste eso en C18? :shock:
C18 tiene declaradas uniones y estructuras de los pines de cada registro, entonces se puede usar un macro (#define (http://laurel.datsi.fi.upm.es/~rpons/personal/trabajos/curso_c/node90.html)) para que el compilador reemplace una linea por otra, o sea se puede hacer:
#define PIN_A0 PORTAbits.RA0
Entonces al compilador al encontrar PIN_A0 lo reemplaza por PORTAbits.RA0.
Ahora Hitech tiene declarados los bits de los registros que controlan los puertos como RAx, RBx, ect, LATAx, LATBx, ect, TRISAx, TRISBx, ect... Y de esa manera podes hacerlo como indica AngelGris.
Saludos!
-
Unas disculpas Suky, tienes razon jajajja; me equivoque al momento de pegar el codigo de C18, en vez de eso pegue la forma en la que estoy tratando de declarar los pines en Hi Tech.
En C18 es de esta manera:
//Definición de pines a utilizar
#define SCLK PORTCbits.RC3 //Pin de Clock de DS1302
#define IO PORTDbits.RD0 //Pin de Datos de DS1302
#define RST PORTDbits.RD1 //Pin de Enable de DS1302
//Definicion de los Bits de los TRIS
#define TrisSCLK TRISCbits.TRISC3 //Pin de Clock de DS1302
#define TrisIO TRISDbits.TRISD0 //Pin de Datos de DS1302
#define TrisRST TRISDbits.TRISD1 //Pin de Enable de DS1302
Intentaré lo que me sugieren.
Saludos