hola a todos
Alguien puede revisar este codigo, que puede estar mal
YA lo hice en asm si funciona, pero en c con interrupciones...
#include<pic.h>
char BUFFER;
void interrupt TX(void);
void main()
{
//--------CONFIG PORTS-------------
TRISC=0b10000000;
TRISD=0;
PORTC=0;
PORTD=0;
//--------CONFIG RS232-------------
TXSTA=0B00100110;//TXSTA bit<5;TXEN>=1; TRASMISION HABILITADA
//TXSTA bit<4;SYNC>=0; MODO ASYNCRONO
//TXSTA bit<2;BRGH>=1; HIGH SPEED
//TXSTA bit<1;TRMT>=1; TSR EMPTY
SPBRG=25; //BAUD RATE 9600bps
SPEN=1; //RCSTA bit<7;SPEN>=1; PORT SERIAL HABILITADO
//-------config interrupciones-----
INTCON=0B11000000; //INTCON bit<7;GIE>=1; HABILITA iNTERRUP GENERAL
//INTCON bit<6;PEIE>=1; HABILITA INTERRUPCIONES //PERIFERICOS
TXIE=1; //PIE1 bit<4;TXIE>=1; HABILITA LA INTERRUPCION USART TRANSMIT
TXIF=0; //PIR1 bit<4;TXIF>=1; FLAG, BUFFER LLENO;
//----------PROGRAM----------------
BUFFER='B';
PORTD=BUFFER;
TXREG=BUFFER;
}
void interrupt TX(void)
{
TXIF=0; //YA SE ENVIO EL DATO? -->tsr estará VACIO, Bit TRMT estará en 1;
}