Uart không truyền được quá 5 kí tự lên PC
E có viết lập trình truyền thông cho Dspic truyền thông lên PC qua RS232. Nhưng bên Visual basic chỉ nhận được có 5 kí tự còn các kí tự sau đó khi truyền lên lại không nhận được. Mong mọi người hỗ trợ
Hàm truyên lên PC Code:
void Send_Uart_1number(int Data) Private Sub MSComm1_OnComm() If (MSComm1.CommEvent = comEvReceive) Then DataPC = MSComm1.Input End If Fout = Mid(DataPC, 1, 2) F = Mid(DataPC, 3, 2) Time_Start = Mid(DataPC, 5, 2) Over_Temp = Mid(DataPC, 1) Over_Load = Mid(DataPC, 8, 1) End Sub Các kí tự 6,7,8 thì lại ko nhận được từ chương trình Visual basic |
Trong hàm Send_Uart_1number() của bạn, lệnh chờ cho bộ đệm phát rỗng (tức là phát xong ký tự vừa ghi vào thanh ghi đệm) while(!U1STAbits.TRMT) {;} của bạn đã bị chú thích.
Bạn chỉ cần bỏ hai dấu chú thích trong hàm đó là được. Thân, |
Vâng! câu lệnh đó em cho vào nhưng chương trình hầu như không thoát khỏi đó. Quét LED 7 vạch nó bị mờ không sáng được. Nếu e bỏ đi thì LED 7 sáng! E ko hiểu nguyên nhân tại sao?
|
Thật la hài và buồn cười kinh thật đó. E hôm nay biên dịch và nạp lại thì lại ko như hôm qua! E nghĩ là do lỗi ở cổng Com rồi! E cám ơn thầy Nam
|
Múi giờ GMT. Hiện tại là 06:54 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam