View Single Post
Old 23-11-2010, 11:50 PM   #5
xuanducdhcn
Đệ tử 1 túi
 
Tham gia ngày: Mar 2010
Bài gửi: 13
:
Talking

Trích:
Nguyên văn bởi entredosaguas View Post
Mình làm giao tiếp RS232 theo tutorial của anh Ngô Hải Bắc nhưng gặp chút rác rối mà không biết giải quyết ra sao. Truyền từ PC xuống PIC thì OK rồi, nhưng phần truyền từ PIC về PC thì có ký tự thì PC hiểu còn có ký tự thì không,và lần nào cũng đúng với ký tự đó,chắc ko phải là nhiễu.Mình đính kèm cái hình để mọi người rõ.
Cái file đính kèm đó là mình gửi các ký tự có mã ASCII từ 30H tới 60H.

Còn đây là phần code sự kiện ngắt nhận VC++:
Code:
case 2:// comEvReceive 
     VARIANT  data = m_mscomm.GetInput();
     m_strReceive += (CString)data.bstrVal;
Mình chạy thử trên VB và Hyper Terminal thì cũng OK luôn.
Cảm ơn mọi người.
Thân
//
VARIANT data;
data = m_comm.GetInput();
CString strInput(data.bstrVal);
m_strReceive = strInput+m_strReceive;

// Nếu bạn truyền nhận được mà ký tự nhận được từ pic->PC bị lỗi thì bạn nên kiểm tra lại tốc độ baudrate của PIC và PC xem có khác nhau không ( để ý nếu PIC set là 9600 thì PC cũng là 9600 nếu không sẽ bị lỗi)

Nếu cả hai trường hợp trên đều không phải bạn nên kiểm tra lại MAX232.
xuanducdhcn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn