TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: cibgris en 01 de Marzo de 2006, 15:44:00
-
Hola
Soy nueva programando el pic con el hi tech, en los ejemplo del hi tech viene el siguiente codigo:
/* Transmit and Receive port bits */
#define SERIAL_PORT PORTA
#define SERIAL_TRIS TRISA
#define TX_PIN 2
#define RX_PIN 1
/* Xtal frequency */
#define XTAL 4000000
/* Baud rate */
#define BRATE 9600
/* Don"t change anything else */
#define SCALER 10000000
#define ITIME 4*SCALER/XTAL /* Instruction cycle time */
#if BRATE > 1200
#define DLY 3 /* cycles per null loop */
#define TX_OHEAD 13 /* overhead cycles per loop */
#else
#define DLY 9 /* cycles per null loop */
#define TX_OHEAD 14
#endif
#define RX_OHEAD 12 /* receiver overhead per loop */
#define DELAY(ohead) (((SCALER/BRATE)-(ohead*ITIME))/(DLY*ITIME))
static bit TxData @ (unsigned)&SERIAL_PORT*8+TX_PIN; /* Map TxData to pin */
static bit RxData @ (unsigned)&SERIAL_PORT*8+RX_PIN; /* Map RxData to pin */
#define INIT_PORT SERIAL_TRIS = 1<<RX_PIN /* set up I/O direction */
y no me queda claro porque se hace la operacion de:
#define DELAY(ohead) (((SCALER/BRATE)-(ohead*ITIME))/(DLY*ITIME))
ustedes saben para que sirve?
-
No uso ese compilador pero segun interpreto del código, parece un script de inicialización de una subrutina de usart por software.
Acaso la gente de hitech no menciona nada al respecto?
Saludos