Làm sao nhận được 2 Byte khác nhau liên tiếp trên đường USART? cùng codevision, ngắt truyền, ngắt nhận? Giúp em với ! Có thể nói rõ cho em biết về cơ chế truyền và nhận khi dùng code vision AVR được kô();
UART của AVR
Collapse
X
-
Tags: None
-
Bác không nói rõ ứng dụng của bác như thế nào nên em khó trả lời chính xác được.Nguyên văn bởi mrcuongcon Xem bài viếtLàm sao nhận được 2 Byte khác nhau liên tiếp trên đường USART? cùng codevision, ngắt truyền, ngắt nhận? Giúp em với ! Có thể nói rõ cho em biết về cơ chế truyền và nhận khi dùng code vision AVR được kô();
Theo em suy luận thì bác thấy trong CodeVision nó chỉ cho bác hàm getchar tức là chỉ nhận 1 ký tự. Do đó bác không nhận được nhiều hơn 2 ký tự để làm việc khác.
Thường thì ta sẽ sử dụng một chương trình kiểu như Hyper Terminal để gửi các lệnh cho AVR, AVR sẽ nhận lệnh để thực thi.
Ví dụ: bác gõ chữ WHO và Enter, AVR sẽ gửi lên câu:"Da, la em day". Như vậy AVR sẽ phải nhận một dãy ký tự kết thúc bằng ký tự Enter (0x0D)
Ta sẽ không sài hàm getchar() nữa. Bác đọc kỹ chương trình ngắt sẽ thấy nó sử dụng một RX_Buffer để lưu các ký tự nhận được.
Bác sửa lại chưong trình ngắt như sau:
Kiểm tra ký tự nhận được, nếu khác Enter (0x0D) thì cho nó làm việc bình thường.
Nếu là Enter thì
-Đọc chuỗi ký từ từ 0 đến Rx_counter trong RX_Buffer
-So sánh nó với chuỗi "WHO"
-Nếu đúng là WHO thì gọi hàm WHOCommand chẳng hạn.
-Reset lại các biến RX_Counter, RX_Index
Chúc bác thành công, dễ thôi mà.Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.
-
Đúng roài, hàm getchar chỉ lôi được mỗi một kí tự, nên nếu em nhận vài byte thì gặp khó khăn, em cũng đã giải quyết bằng cách lấy giá trị nhận được từ bufer chứ kô dùng getchar!
dù sao cũng cảm ơn bác nhiều.
Comment
Bài viết mới nhất
Collapse
-
bởi KazumiChào mọi người. Tôi có một động cơ bước được lắp đặt gần dây chuyền mạ điện, nơi môi trường có chứa hơi axit.
Sau hơn sáu tháng vận hành, bộ điều khiển (driver) gần đây liên tục báo lỗi quá dòng. Khi tháo động cơ ra, tôi phát hiện...-
Channel: Điện tử công suất
12-10-2026, 13:40 -

Comment