Trích:
Nguyên văn bởi notrino1506
Chào các sư huynh,
Em đang bị chết dí với cái giao tiếp USART của PIC và modem SIM 300 đây. Mong các sư huynh giúp đỡ.
Vấn đề của em là: dữ liệu từ MODEM SIM300 (Tx) về PortC.7 (Rx) lúc nào cũng bị SET OERR và FERR.......!
|
Vấn đề của bạn mình cũng gặp tương tự ở AT89S.
1. Nhận dữ liệu : thường chúng ta chỉ dùng 2 chân RX, TX và GND để nhận dữ liệu. Tức là các chân 2,3, và chân 5. các chân còn lại ( xem hình 1)
http://www.papyrus.co.il/images/db9p...male_rs232.gif
Do không có dùng các chân còn lại, ko nhận biết được khi nào có dữ liệu đến, quá trình gửi - nhận dữ liệu. Nên sảy ra hiện tượng "trượt" dữ liệu trong bộ đệm.
Cho nên cần phải nhận dữ liệu ngay khi cờ báo truyền tích cực. CÓ DỮ LIỆU LÀ CHẠY ĐI LỤM NGAY KẺO MẤT. Cho nên bạn cần quan tâm vấn đề thời gian thực hiện của bạn có thể gây Delay làm "trượt" dự liệu mà bạn không biết
2. Vấn đề của bạn:
có thể là quá trình ngắt xảy ra quá nhiều, nhưng xử lý sự kiện ko kịp. Trong PIc mình không rành lắm. Nhưng kinh nghiệm của mình là xác định khi nào có dữ liệu thì "ngồi chờ có dữ liệu thì lưu trữ ngay", sau đó mới xử lý dữ liệu lưu trữ này.
P/S: Thu mua số lượng modulsim 300s 300zc 900a 900b ... các loại.có gì mua nấy. Ai có PM mình nhé. 01696920269
hcmute.edu.vn