à thì ra bạn dùng com ảo, chắc là dùng máy tính xách tay rồi. T cũng đã bị trường hợp code chạy ngon với com 1 đến 4, còn từ 5 đến 9 là héo, o biết làm sao
Code:
U1BRG = (((4000000/9600)/16)-1); //9600 bps @ Fcy = 4 MHz
Sửa lại dòng này thử xem, đặt lại U1BRG = 0x19 (=25) ,nhiều khi do complier......Nhưng nếu sai tốc độ, tớ nghĩ vẫn nhận được nhưng ra giá trị linh tinh....
Trích:
3. em dùng oscilloscope đo ở chân OUT của chip kết quả là có xung xuất sau mỗi thời gian ngắt timer, cho trễ ở timer dài thì xuất xung chậm, mà ngắn thì cũng xuất nhanh.
|
Bạn điều khiển I/O bình thường hả. Giờ co transmit liên tục,rồi đo ở chân của Max232 nối với cổng Rs232 xem có xung ra ko nhé...
Code:
while (1)
{
//Neu chua het chuoi thi
U1TXREG = 0x30; //Xuat tiep 1 ky tu
while (!U1STAbits.TRMT); //Cho den khi truyen xong ky tu
}