ในการเขียน python ให้ส่งออกข้อมูลผ่าน serial port มีอยู่ 2-3 แบบ ที่ผู้เขียนเจอมา
โดยมีตัวอย่าง code ดังต่อไปนี้
import serial
import time
port = serial.Serial("/dev/ttyUSB0", baudrate=19200, timeout=1.0)
while 1:
port.write(chr(0x01))
time.sleep(1)
โดยที่เห็นใน code ด้านบน จะส่งออกมาเป็น 0x01 ฐาน16 จริงๆ
แต่ถ้าเราเปลี่ยน code เป็น port.write("1") เราจะเห็นข้อมูลต่างออกไป คือ 0x31
แต่ถ้าเราเปลี่ยน code เป็น port.write("0x01")
สิ่งที่ RPi ส่งออกมาจะเป็น 0x30 0x78 0x30 0x31 ซึ่งถ้าเปลี่ยนเป็น ascii เราจะเห็นเป็น 0x01
สรุป
การส่งข้อมูล serial
port.write(chr(0x01))
port.write("1")
port.write("0x01")
ให้ผลที่ต่างกัน เราสามารถเลือกใช้ให้เหมาะสมกับงานของเราได้ครัช
ไม่มีความคิดเห็น:
แสดงความคิดเห็น