การใช้งาน Serial Port แบบ RS232/RS485 ใน IOT 2040

Suthipong Bubpago
2 min readSep 14, 2019

--

ตัว IOT 2040 จะมี Serial Port มาให้ 2 ช่องด้วยกัน คือ X30 COM, X31 COM สามารถตั้งโหมดการใช้งานได้ 3 แบบคือ RS232/RS422/RS485 โดยค่าเริ่มต้นจะตั้งเป็น RS232 ทั้ง 2 ช่อง

IOT 2040

การเข้าสายในการใช้งานแบบต่างๆทำได้ดังนี้

ตารางการต่อใช้งาน Serial Port ของ IOT 2040 ในแบบ RS232/RS422/RS485

การเข้าถึงตัว Serial Port เข้าถึงได้ดังนี้

  • ตัว X30 COM จะถูกกำหนดใว้ที่ /dev/ttyS2
  • ตัว X31 COM จะถูกกำหนดใว้ที่ /dev/ttyS3

การดูโหลดการทำงานของ Serial Port ว่าขณะนี้ได้ถูกกำหนดการใช้งานรูปแบบได ทำได้โดยใช้คำสั่ง

switchserialmode /dev/ttyS2
การตรวจสอบโหมดการทำงานของ Serial Port ในรูปกำลังใช้งานอยู่ในโหมด RS232

การเปลี่ยโหลดการทำงานให้ใช้คำสั่ง

switchserialmode /dev/ttyS2 RS485
การเปลี่ยนโหมดการทำงานของ Serial Port ในรูปเปลี่ยนโหมดการทำงานไปเป็น RS485

การตั้งค่าการสื่อสารของ Serial Port จะมีพารามิเตอร์ให้ตั้งดังนี้

  • ค่า Baud rate [9600, 19200, 56000, 115200]
  • ค่า Data bit [7, 8]
  • ค่า Parity bit [None, Even, Odd]
  • ค่า Stop bit [1, 2]

การตั้งค่าการสื่อสารนี้ต้องตั้งให้ตรงกันกับอุปกรณ์ที่จะนำมาใช้งาน
ตัวอย่างการตั้งค่า

  • Baud rate 19200
  • Data bit 8
  • Parity bit None
  • Stop bit 1
//Baud rate 19200,Data bit 8,Parity bit None,Stop bit 1
stty -F /dev/ttyS2 19200 cs8 -parenb -parodd -inpck -cstopb

ตัวย่างการตั้งค่าแบบอื่นๆ

//19200,8,N,1
stty -F /dev/ttyS2 19200 cs8 -parenb -parodd -inpck -cstopb
//19200,8,O,1
stty -F /dev/ttyS2 19200 cs8 parenb parodd inpck -cstopb
//19200,8,E,1
stty -F /dev/ttyS2 19200 cs8 parenb -parodd inpck -cstopb
//19200,8,N,2
stty -F /dev/ttyS2 19200 cs8 -parenb -parodd -inpck cstopb
//19200,8,O,2
stty -F /dev/ttyS2 19200 cs8 parenb parodd inpck cstopb
//19200,8,E,2
stty -F /dev/ttyS2 19200 cs8 parenb -parodd inpck cstopb

การตรวจสอบค่าที่ตั้งจะใช้คำสั่ง

stty -F /dev/ttyS2 -a
ผลการตั้งค่า 19200,8,E,1

การตรวจสอบการทำงานของ Serial Port ใช้คำสั่ง

cat /proc/tty/driver/serial
ดูการทำงานได้จากค่า tx, rx ถ้ามีการทำงานค่า tx, rx จะเพิ่มขึ้นทั้งสองค่า

Ref.

https://www.computerhope.com/unix/ustty.htm

--

--

No responses yet