Buennass:
Estoy haciendo un programilla para transmitir datos por la uart con un dspic3013. Tengo un problemilla el dato me lo envia y lo veo por el terminal pero el programa se me queda colgado y lo que veo por el terminal es que se repite el dato una y otra vez. El programa es muy sencillo y no consigo saber por que hace eso, el programa es el siguiente, si alguien tiene alguna idea de lo que puede ser se lo agradecería mucho,
un saludo, Milo
int main(void)
{
unsigned int baudvalue;
unsigned int U2MODEvalue;
unsigned int U2STAvalue;
TRISDbits.TRISD8=0;
PORTDbits.RD8=0;
CloseUART2();
ConfigIntUART2(UART_RX_INT_DIS & UART_RX_INT_PR6 & UART_TX_INT_DIS & UART_TX_INT_PR2);
baudvalue = 191; //9600 baudios, PLLx16 y XT a 7.3728 Mhz
//baudvalue = 25; //9600 baudios, PLLx4 y XT A 4Mhz
U2MODEvalue = UART_EN & UART_IDLE_CON & UART_RX_TX &
UART_DIS_WAKE & UART_DIS_LOOPBACK &
UART_DIS_ABAUD & UART_NO_PAR_8BIT &
UART_1STOPBIT;
U2STAvalue = UART_INT_TX_BUF_EMPTY &
UART_TX_PIN_NORMAL &
UART_TX_ENABLE & UART_INT_RX_3_4_FUL &
UART_ADR_DETECT_DIS &
UART_RX_OVERRUN_CLEAR;
OpenUART2(U2MODEvalue, U2STAvalue, baudvalue);
WriteUART2(0x65);
while(BusyUART2());
WriteUART2(0x5F);
while(BusyUART2());
CloseUART2();
PORTDbits.RD8=1;
return 0;
}
Lo que se me vería en el terminal (configurado en HEX) sería esto:
65 5F 65 5F 65 5F 65 5F 65......