Chuẩn hóa giao thức

Một phần của tài liệu Thiết kế và chế tạo robot đo nhiệt độ điều khiển từ xa (Trang 61 - 63)

Byte1

Byte2

Byte1 Or 0x01

Thêm vào bit đầu tiên của byte 1 bit 1, để xác dịnh bit strart, khi đó ta được 1 byte mới, có bit đầu tiên là bit 1

Byte1

Xóa giá trị của bit đầu tiên của byte 2 để khi nhận, xác định đang nhận byte 2. Byte2 and 0xFE

Ta được

1 byte mới có bit đầu tiên bằng 0

Byte2

Khi đó ta lấy byte1 xor byte2 được 1 byte, ta lấy 4 bit đầu tiên hoàn toàn mới

0 0 0 0 A1 A2 A3 A4 B1 B2 B3 B4 B5 B6 B7 B8 0 0 0 0 A1 A2 A3 A4 0 0 0 0 A1 A2 A3 1 B1 B2 B3 B4 B5 B6 B7 B8 B1 B2 B3 B4 B5 B6 B7 0

Byte3

Byte thứ 2 ta dịch qua phải 4 bit được byte mới

Byte4

Ta xor byte3 và byte4 với nhau rồi dịch qua trái 4 bit, khi đó ta được byte mới mà 4 bit cuối của nó là check_sum ta đang đi tinh toán.

Khi đưa dữ liệu xuống ta sẽ truyền 2 byte, byte 1 gồm 1 bit start, 3 bít lệnh và 4 bit kiểm tra lỗi

Byte thứ 2 là data,ta sẽ truyền giá trị của PWM xuống, bit đầu tiên la bit start nhận byte 2 còn 7bit là dữ liệu.

byte1

byte2

Check_sum cmd start data start

Lưu đồ 4: Chương trình chuẩn hóa giao thức.

Khi VDK nhận sẽ đi nhận lần lượt từng byte, khi nhận hết byte 1 đi kiểm tra bit start rồi sẽ nhận đến byte 2, rồi xuống đó VDK sẽ làm ngược lại bên trên, nếu Check _sum đúng thì thực hiện chương trình định sẵn.

0 0 0 0 C5 C6 C7 1

0 0 0 0 B1 B2 B3 B4

B1 B2 B3 B4 B5 B6 B7 0

Một phần của tài liệu Thiết kế và chế tạo robot đo nhiệt độ điều khiển từ xa (Trang 61 - 63)