![]() |
|
Công cụ bài viết | Kiểu hiển thị |
|
#1
|
|||
|
|||
![]() Nhận dữ liệu từ UART theo frame truyền cho AVR Xin giới thiệu các bạn một thuật toán bắt tín hiệu truyền RS232 trong Vi Điều Khiển để tránh nhầm và lỗi dữ liệu, đây là code thường xuyên được sử dụng, nên chạy ổn định. Một số lưu ý: 1. Định nghĩa: VD ta cần nhận một dữ liệu có độ dài 6Byte, trong đó có 2byte header, 1Byte check sum, - Mặc định truyền 1byte liên tiếp : 0xAA là file header - checksum = 0xAA+0xAA+data_1+data_2+data_3. - su dung ngat UART. 2. Các biến sử dụng. char rx_map[3] // 3Byte cần nhận temp[4] // nhận tạm dữ liệu khi chưa lọc ; char header=0x00 ,header_old=0x00 ,index=0x00 ,check_sum=0x00 ; bit sync=0; //Kiem tra trang thai cua du lieu, khi nhan 2 file lien tiep dang 0xAA va 0xAA thi sync=1 3. Code Mã:
|
![]() |
Công cụ bài viết | |
Kiểu hiển thị | |
|
|