การส่งค่า output ออกทาง port RS-232

การสื่อสารแบบอนุกรม นับว่ามีความสำคัญ ต่อการใช้งาน ไมโครคอนโทรลเลอร์มาก เพราะสามารถใช้แป้นพิมพ์ และจอภาพของ PC เป็น อินพุต และ เอาต์พุต ในการติดต่อ หรือ ควบคุม ไมโครคอนโทรลเลอร์ ด้วยสัญญาณอย่างน้อย เพียง 3 เส้นเท่านั้น คือ

-                                               สายส่งสัญญาณ                                   TX
-                                               สายรับสัญญาณ                                   RX
-                                               และสาย                                              GND
โดยปกติพอร์ตอนุกรม RS-232C จะสามารถต่อสายได้ยาว 50 ฟุตโดยประมาณ ขึ้นอยู่กับ ชนิดของ สายสัญญาณ, ระยะทาง, และ ปริมาณ สัญญาณ รบกวน


 พอร์ตอนุกรมของ PC    DB9 ตัวผู้ (Male)

 พอร์ตอนุกรมของอุปกรณ์ภายนอก  DB9 ตัวเมีย (Female)
  • พอร์ตอนุกรมของ PC จะเป็นคอนเน็คเตอร์แบบ DB9 ตัวผู้ (Male)
พอร์ตอนุกรม ของอุปกรณ์ภายนอก จะเป็นคอนเน็คเตอร์แบบ DB9 ตัวเมีย(FeMale)
แสดงการจัดขา ของคอนเน็กเตอร์ อนุกรมแบบ DB9 และหน้าที่การใช้งานต่างๆ

 DB9 ตัวผู้ เมื่อมองจากด้านหลัง
Pin
Description
Type
1
Data Carrier Detect (DCD)
Input
2
Received Data (RXD)
Input
3
Transmitted Data (TXD)
Output
4
Data Terminal Ready (DTR)
Output
5
Signal Ground (GND)
Input
6
Data Set Ready (DSR)
Input
7
Request To Send (RTS)
Output
8
Clear to Send (CTS)
Input
9
Ring Indicator (RI)
Input



การเชื่อมต่ออุปกรณ์อุกรณ์ภายนอกเข้ากับคอมพิวเตอร์ด้วยสาย DB9

การเชื่อมต่ออุปกรณ์ภายนอกผ่าน DB9 แบบ Null modem

การต่ออุปกรณ์ภายนอกผ่าน DB9 แบบ 3 เส้น
-         การทำงานของขาสัญญาณ DB9
TXD เป็นขาที่ใช้ส่งข้อมูล
RXD เป็นขาที่ใช้รับข้อมูล
DTR แสดงสภาวะพอร์ตว่าเปิดใช้งาน ,DSR ตรวจสอบว่าพอร์ต ที่ติดต่อด้วย เปิดอยู่หรือไม่


- เมื่อเปิดพอร์ตอนุกรม ขา DTR จะ ON เพื่อให้อุปกรณ์ได้รับทราบว่าต้องการติดต่อด้วย


- ในขณะเดียวกันก็จะตรวจสอบขา DSR ว่าอุปกรณ์พร้อมหรือไม่
RTS แสดงสภาวะพอร์ตว่าต้องการส่งข้อมูล ,CTS ตรวจสอบว่าพอร์ตที่ติดต่ออยู่ ต้องการส่งข้อมูลหรือไม่


- เมื่อต้องการส่งข้อมูลขา RTS จะ ON และจะส่งข้อมูลออกที่ขา TXD เมื่อส่งเสร็จก็จะ OFF


- ในขณะเดียวกันก็จะตรวจสอบขา CTS ว่าอุปกรณ์ต้องการที่จะส่งข้อมูลหรือไม่

GND ขา ground

com = get(handles.edit1,'string');
str = strcat('COM',com);
SerPIC = serial(str);               %<--change this appropriately
set(SerPIC,'BaudRate', 9600, 'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none');             
fopen(SerPIC);                                  %--open the serial port to the PIC

fprintf(SerPIC, '%s', '004');           %--send a _three_ digit string to the PIC with no terminator ('%s')
                        %-- 003 = 00000011 in binary, so first two LEDs of PIC will light

fclose(SerPIC)                  %--close the serial port when done
delete(SerPIC)             

clear SerPIC

Comments

Popular Posts