dsPIC33 ko nhận được uart.
phần cứng dspic33fj128 nối với max232 (loại smd cấp nguồn 3v3)
truyển từ dspic lên pc thì ngon
nhưng truyền từ pc xuống dspic thì ngỏm. Có xung rất đẹp đến chân nhận của dspic
chân truyền nhận đã được remappable.
Khi cấu hình loopback thì đường truyền 1 chuỗi ký tự !!!!!!!!!. Để loopback thì bít U1STAbits.URXDA có được bật lên, nếu để ngắt thì cũng có nhảy vào ngắt nhận
nhưng nếu ko dùng loopback thì bít U1STAbits.URXDA ko bật lên, mà cũng chẳng vào ngắt, mặc dù có xung ở nhân nhận
Code:
//Remap
//UART1 TX1 RP3-3 RPOR1 ; RX1 RP2 RPINR18
_RP3R = 0x03; //RP3 is UART1 output RB3
_U1RXR = 0x02; //RP2 is uart1 input RB2
Code:
/* check for receive errors */
if(U1STAbits.FERR == 1)
{
lcd_putchar('?');
}
/* must clear the overrun error to keep uart receiving */
if(U1STAbits.OERR == 1)
{
U1STAbits.OERR = 0;
lcd_putchar('?');
}
/* get the data */
while(U1STAbits.URXDA)
{
ReceivedChar = U1RXREG;
_LATA10 =~ _LATA10;
}