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
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
Hôm qua, 21:08 -
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -

Comment