View Single Post
Old 29-03-2012, 11:19 AM   #1
fabre1kn9x
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 2
:
Exclamation Cần giúp đỡ về modul UART của dspic33fj12mc202

Em đang học cách sử dụng modul UART của con dspic33fj12mc202, sử dụng phần mềm proteus để mô phỏng. Em đã gửi thành công rồi nhưng còn nhận thì đang gặp khó khăn.

Em sử dụng ngắt nhận để mỗi khi nhận được 1 ký tự thì chương trình nhảy vào ngắt và thay đổi trạng thái ở ngõ ra RB4 để bật tắt led. Nhưng thử nhiều lần mà không được
Đoạn code khởi động modul UART:

//////////////////////////////////////////////////////////////////
void Init_UART()
{
U1MODE=0x8000; // 8 bit, no parity, 1 stop bit
U1STAbits.UTXEN=1; // Cho phep gui//
U1BRG = 64;
RPOR1bits.RP2R=3; // Chon chan RP2 lam chan phat
RPINR18bits.U1RXR=0; // Chon chan RP0 lam chan thu
RPINR18bits.U1CTSR=1; // Chon chan RP1 lam chan Clear to send
RPOR1bits.RP3R=4;// Chan RP3 la Ready to send


_U1RXIE=1; // Cho phep ngat nhan.
U1STAbits.URXISEL=0b00; // Ngat khi co bat ky ki tu nao duoc nhan.
IPC2bits.U1RXIP=0b110; // Uu tien ngat nhan.
_U1RXIF=0; // Xoa co ngat nhan
}
//////////////////////////////////////////////////////////////////////////////


Đoạn code ngắt nhận:


///////////////////////////////////////////////////////////////////////////////
void __attribute__ ((__Interrupt__,auto_psv)) _U1RXInterrupt()
{
int Receive;
_LATB4=~_LATB4;
Receive=U1RXREG;
_U1RXIF=0; // Xoa co ngat nhan
}
////////////////////////////////////////////////////////////////////////////////

Mọi người giúp em với.
File Kèm Theo
File Type: rar UART.rar (17.3 KB, 36 lần tải)

thay đổi nội dung bởi: fabre1kn9x, 29-03-2012 lúc 11:34 AM. Lý do: Có lỗi
fabre1kn9x vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn