TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Palomino86 en 03 de Abril de 2011, 22:07:05

Título: Declaración de Pines en Hi-Tech PIC C
Publicado 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:

Código: [Seleccionar]
//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
Título: Re: Declaración de Pines en Hi-Tech PIC C
Publicado por: AngelGris en 03 de Abril de 2011, 22:23:55
  Al parecer es igual.
  Yo declaré unos pines así y funciona

Código: C
  1. #define TxPin   RA0
  2. #define RxPin   RB1
Título: Re: Declaración de Pines en Hi-Tech PIC C
Publicado por: Suky en 03 de Abril de 2011, 23:38:21
Tenga una duda acerca la declaración de pines en Hi Tech.

En C18 lo hago de la siguiente manera:

Código: [Seleccionar]
//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:

Código: [Seleccionar]
#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!
Título: Re: Declaración de Pines en Hi-Tech PIC C
Publicado por: Palomino86 en 04 de Abril de 2011, 02:46:52
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:

Código: [Seleccionar]
//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