การสื่อสารแบบอนุกรม Serial · PDF fileกำรสื่อสำรแบบอนุกรม 3 บทน า...

Post on 07-Feb-2018

253 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

การสอสารแบบอนกรมSerial Communication

รศ.ณรงค บวบทอง

หวขอ บทน ำ รปแบบของกำรสอสำร รปแบบกำรสอสำรแบบอนกรม

การสอสารขอมลแบบซงโครนส (Synchronous) การสอสารขอมลแบบอะซงโครนส (Asynchronous) การสอสารแบบขอมลแบบไอโซโครนส (Isochronous Transmission)

การสอสารขอมลแบบอนกรมของไมโครคอนโทรลเลอร AVR

บลอกไดอะแกรมอยางงายๆของพอรทอนกรม ATMega168 - USART รจสเตอรทเกยวของกบการท างานในโหมด USARTRelated Registers

ตวอยางโปรแกรม Serial Output โดยใช AVR Studio Arduino : Serial มาตราฐาน RS-232

2กำรสอสำรแบบอนกรม

3กำรสอสำรแบบอนกรม

บทน า

การสอสารขอมลแบบอนกรม เปนการรบสงขอมลทละบตแทนทจะท าการรบสงขอมลพรอมกนทกบตในเวลาเดยวกน ขอดของการสอสารแบบนคอ ใชจ านวนสายในการสอสารนอย สามารถรบสงไดในระยะ ทางทไกล ๆแตกมขอเสยในดานเวลา เพราะตองใชเวลาในการสอสารมาก เมอเทยบกบการสอสารแบบขนาน อกทงโอกาสเกดการผดพลาดของขอมลกสงกวาแบบขนาน

4กำรสอสำรแบบอนกรม

รปแบบของการสอสาร

รปแบบของการสอสาร แบงได 3 แบบ คอ1. แบบซมเพลกซ (Simplex) เปนการสอสารทาง

เดยว2. แบบฮาลฟดเพลกซ(Half-duplex) เปนการสอสารไดทงสองทาง แตจะตองผลดกนรบ-สง

3. แบบฟลดเพลกซ(Full-duplex ) เปนการสอสารไดทงสองทางและท าไดในเวลาเดยวกน

5กำรสอสำรแบบอนกรม

รปแบบการสอสารขอมลแบบอนกรม

การตดตอแบบอนกรมเมอแบงตามลกษณะของการสงขอมลแบงได 2 แบบ คอ1. การสอสารแบบซงโครนส (Synchronous) 2. การสอสารแบบอะซงโครนส(Asynchronous)3. การสงขอมลแบบไอโซโครนส (Isochronous

Transmission)

6กำรสอสำรแบบอนกรม

การสอสารขอมลแบบซงโครนส (Synchronous)

เปนการสงขอมลเปนบลอก ครงละหลายๆไบต สญญาณนาฬกาทชวยใหการท างานของตวสงและตวรบสอดคลองกนอาจจะถกเขารหสอยในชดของขอมลนนหรอแยกอสระออกเปนสายตางหากกได ตวอยางการรบสงขอมลแบบนไดแกโปรโตคอล High-Level Data Link Control

7กำรสอสำรแบบอนกรม

ชอฟลด ขนาดFlag Field( F ) 8 บตAddress Field( A ) 8 บตControl Field( C ) 8 or 16 บตInformation Field( I ) เปลยนแปลงได บางแฟลมกไมไดใชFrame Check Sequence( FCS ) 16 or 32 บตClosing Flag Field( F ) 8 บต

โปรโตคอล High-Level Data Link Control (HDLC) ทใชกบโมเดมแวน (WAN) ซงมลกษณะแฟรม (Fram) ดงน

โปรโตคอล High-Level Data Link Control (HDLC)

8กำรสอสำรแบบอนกรม

การสอสารแบบนใชมากในเครองไมโครคอมพวเตอรพซรปแบบการสอสารจะเปนการรบและสงขอมลครงละ 1 ไบต

การสอสารขอมลแบบอะซงโครนส (Asynchronous)

9กำรสอสำรแบบอนกรม

ตวอยางโปรโตคอลอะซงโครนส Serial Commincation - Example Protocols Morse code

RS-232 - Recommended Standard 232 RS422, RS-423, RS-485 I2C - Inter-Integrated Circuit

SPI - Serial Peripheral Interface

USB - Universal Serial Bus

Firewire

Ethernet

Serial ATA - Serial Advanced TEchnology Attachment

Serial Attach SCSI - Serial Attached Small Computer System

Interface

SONET - Synchronous Optical Network

PCI Express - Peripheral Component Interconnect Express

10กำรสอสำรแบบอนกรม

การสอสารแบบนใชมากในเครองไมโครคอมพวเตอรพซ รปแบบการสงขอมลจะเปนการสงครงละ 1 ไบต โดยมรปแบบดงน

การสอสารแบบอะซงโครนส (Asynchronous)

11กำรสอสำรแบบอนกรม

ความหมายของบต

Start Bit บอกจดเรมตนขอมล มขนาด 1 บตData Bit คาขอมลมได 5 ถง 8 บตParity Bit บตส าหรบใชตรวจสอบความผดพลาดของขอมล มได 0 ถง 1 บตStop Bit บตใชบอกจดสนสดขอมล มได 1 1.5 และ 2 บต

การสอสารแบบอะซงโครนส (Asynchronous) (ตอ)

12กำรสอสำรแบบอนกรม

ความเรวในการสอสารความเรวในการสอสาร หมายถงจ านวนบตทใชรบสงขอมลตอวนาท โดยปกตจะมคาเทากบ 110 150 300 1200 2400 4800 9600 และ 19200 บตตอวนาทอตราความเรวนบางครงกเรยกวาอตราบอด (Baud rate) ทงตวสงและตวรบตองก าหนดใหมความเรวในการสอสารเทากนตวอยางขอมลสงดวยความเรว 2400 บตตอวนาท ดงนนแตละบตใชเวลาสงเทากบ 1/2400 = 416.67 ไมโครวนาท

การสมขอมลแบบอะซงโครนส

13กำรสอสำรแบบอนกรม

14กำรสอสำรแบบอนกรม

หลกการรบ-สงขอมลแบบอนกรม

15กำรสอสำรแบบอนกรม

ตวอยางภาคสงขอมลแบบอนกรม

16กำรสอสำรแบบอนกรม

Block Diagram

การสอสารแบบขอมลแบบไอโซโครนส (Isochronous Transmission)

กำรสอสำรแบบอนกรม 17

มาจากรากศพทในภาษากรก 2 ค า คอค าวา iso หมายถง เทากน และค าวา chronous ทหมาย ถง เวลา เมอน ามารวมกนจงหมายความวา เวลาทเทากน ส าหรบคณสมบตทส าคญของการสงขอมลแบบไอโซโครนส คอ การสงผานขอมลดวยความเรวสงใน อตราคงท และรบประกนเวลาในการสง

เนองจากการสงขอมลแบบเรยลไทม เชน ระบบออดโอและวดโอ จ าเปนตองสงขอมล ดวยความเรวสง ซงการสงขอมลแบบอะซงโครนส (มการหนวงเวลาเกดขนจากชองวางระหวาง เฟรม) และซงโครนสกยงไมสามารถรองรบได จงเกดการสงขอมลแบบไอโซโครนสขนมา เพอใชงานเรยลไทม ทรบประกนขอมลทจะสงมาถงดวยอตราเรวคงท

โดยจะน าการสงขอมลแบบไอโซโครนสมาใชเพอสงผานขอมลบนบส 1394 หรอ เรยกวา ไฟรไวร (FireWire) การสงผานขอมลของไอโซโครนสจะตงอยบนพนฐานของแพกเกต โดยขนาดของแพกเกตจะสงผานอยบนแชนเนลทใหไว และสามารถแปรผนจากเฟรมไปยงเฟรมได สวนขนาดของแพกเกตจะถกจ ากดโดยแบนดวดธเทาทมอยจาก http://teacher.aru.ac.th/sawita/images/stories/file/PDF_Presentation/3503103_Networking/02092010_Network_Chapter5.pdf

การสอสารขอมลแบบอนกรมของไมโครคอนโทรลเลอร AVR

กำรสอสำรแบบอนกรม18

ไมโครคอนโทรลเลอร AVR สามารถสอสารขอมลแบบอนกรมไดโดยใชโมดล USART ((Universal Synchronous and Asynchronous serial Receiver and Transmitter) ส าหรบ ATMega 16 ขาพอรทอนกรมก าหนดใวท PD0 Serial input RxD

PD1 Serial output TxD

19กำรสอสำรแบบอนกรม

คณลกษณะของ ATMega168-USARTUSART - Universal Synchronous Asynchronous Receiver Transmitter. ท างานแบบ Full Duplex (การรบและสงเปนอสระซงกนและกน) ท างานไดทงแบบ Asynchronous และ Synchronous Master or Slave Clocked Synchronous Operation High Resolution Baud Rate Generator รองรบการรบสงขอมลแบบ 5, 6, 7, 8, or 9 Data Bits และ 1 หรอ 2 Stop Bits Odd or Even Parity Generation and Parity Check Supported by Hardware Data OverRun Detection Framing Error Detection Three Separate Interrupts on TX Complete, TX Data Register Empty and RX Complete

20กำรสอสำรแบบอนกรม

Clock Generator

Transmitter

Receiver

บลอกไดอะแกรมอยางงายๆของพอรทอนกรม ATMega168 - USART

21กำรสอสำรแบบอนกรม

Clock Generation Logic, Block Diagram

Signal description:•txclk Transmitter clock (internal signal).•rxclk Receiver base clock (internal signal).•xcki Input from XCK pin (internal signal). Used for synchronous slave operation.•xcko Clock output to XCK pin (internal signal). Used for synchronous master operation.•fosc System clock frequency.

22กำรสอสำรแบบอนกรม

การค านวณหาอตราบอต (Baud rate)

โหมดการท างาน อตราบอต คารจสเตอร UBRRอะซงโครนสปกต (U2X = 0) Baud = fosc/(16*(UBRR+1)) UBRR = (fosc/16*Baud)-1อะซงโครนสทวคณ (U2X = 1) Baud = fosc/(8*(UBRR+1)) UBRR = (fosc/8*Baud)-1มาสเตอรซงโครนส Baud = fosc/(2*(UBRR+1)) UBRR = (fosc/2*Baud)-1

23กำรสอสำรแบบอนกรม

UBRRnL and UBRRnH – USART baud rate registers

Bit 15:12 – บตส ารองเพอการใชงาน บตเหลานตองใหเปน 0Bit 11:0 – UBRR11:0: USART บตก าหนดอตราบอด (baud rate) มคาไดตงแต 0 - 4095

24กำรสอสำรแบบอนกรม

ตวอยางการก าหนดคาอตราบอต

25กำรสอสำรแบบอนกรม

รจสเตอรทเกยวของกบการท างานในโหมด USART1. รจสเตอร UDR (USART I/O Data Register)2. รจสเตอร UCSRA (USART Control and Status Register A)3. รจสเตอร UCSRB (USART Control and Status Register B)4. รจสเตอร UCSRC (USART Control and Status Register C)5. รจสเตอร UBRRL และ UBRRH (USART Baud Rate Register)

26กำรสอสำรแบบอนกรม

รจสเตอร UDR (USART I/O Data Register) รจสเตอรส าหรบอาน/เขยนขอมลขนาด 8 บต โดยแบงเปน RXB ใชรบขอมลจาก

ภายนอกและ TXB ใชสงขอมลใหภายนอก

27กำรสอสำรแบบอนกรม

รจสเตอร UCSRA (USART Control and Status Register A) รจสเตอรควบคมการท างานและแสดงสถานการณท างานของโมดล

USART ชด A เกยวของกบสถานะของการสอสารขอมล

บตท 7 6 5 4 3 2 1 0

 ชอบต RXC TXC UDRE FE DOR PE U2X MPCM

Read/Write R R/W R R R R R/W R/W

คาเรมตน 0 0 1 0 0 0 0 0

บตท 7 - RXC: USART รบสมบรณ (USART Receive Complete)บตนจะเปน 1 เมอไดรบขอมลจากบฟเฟอรรบขอมล และจะเปน 0 เมอบฟเฟอรวาง และถาใชการอนเตอรรพท เมอบตนเปน 1 จะสงสญญาณไปอนเตอรรพทซพย

28กำรสอสำรแบบอนกรม

รจสเตอร UCSRA (USART Control and Status Register A)

บตท 6 - TXC: USART สงสมบรณ (USART Transmit Complete)บตนจะเปน 1 เมอขอมลในบฟเฟอรถกสงออกไปแลวและยงไมมขอมลใหมเขามา และจะเปน 0 เมอบฟเฟอรวาง และถาใชการอนเตอรรพท เมอบตนเปน 1 จะสงสญญาณไปอนเตอรรพทซพย

บตท 5 – UDRE (USART data register empty)บตนจะเปน 1 เมอ รจสเตอรขอมล UDR วาง พรอมจะรบขอมลตวใหม

บตท 4 – FE (Frame error) บตนจะเปน 1 เมอ เฟรมขอมลผดพลาด หรอบตหยดขอมลเปน 0

29กำรสอสำรแบบอนกรม

รจสเตอร UCSRA (USART Control and Status Register A)

บตท 3 – DOR (USART parity error)บตนจะเปน 1 เมอเกดขอผดพลาดแบบ OverRun คอมขอมลใหมเขามาในขณะทขอมลเดมยงไมถกอานออกไป

บตท 2 – PE (Parity Error)บตนจะเปน 1 เมอเกดขอผดพลาดแบบพารต

บตท 1 – U2X (Double the USART transmission speed)ใชก าหนดอตราทวคณของการสอสาร

บตท 0 – MPCM (Multi-processor communication mode)บตนเปน 1 เมอตองการใชการสอสารแบบมลตโปรเซสเซอร

30กำรสอสำรแบบอนกรม

รจสเตอร UCSRB (USART Control and Status Register B) รจสเตอรควบคมการท างานและแสดงสถานการณท างานของโมดล

USART ชด B เกยวของกบการอนเตอรรพทและขนาดของขอมลแบบ 9 บต

บตท 7 6 5 4 3 2 1 0

ชอบต RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8

Read/Write R/W R/W R/W R/W R/W R/W R R/W

คำเรมตน 0 0 0 0 0 0 0 0

บตท 7 - RXCIE: (RX complete interrupt enable)ใหบตนเปน 1 เมอตองการใหเกดการอนเตอรรพท เมอรบขอมลเขามาบตท 6 - TXCIE: (TX complete interrupt enable)ใหบตนเปน 1 เมอตองการใหเกดการอนเตอรรพท เมอสงขอมลแลว

31กำรสอสำรแบบอนกรม

รจสเตอร UCSRB (USART Control and Status Register B)บตท 5 - UDRIE: USART data register empty interrupt enable ใหบตนเปน 1 เมอตองการใหเกดการอนเตอรรพท เมอรจสเตอร UDR วาง

บตท 4 – RXEN: Receiver enable ใหบตนเปน 1 เมอตองการใหเกดการอนเตอรรพท เมอเกดการรบขอมล

บตท 3 – TXEN: Transmitter enable ใหบตนเปน 1 เมอตองการใหเกดการอนเตอรรพท เมอเกดการสงขอมล

บตท 2 UCSZ2: Character size ใชก าหนดจ านวนบตขอมล ใชคกบ UCSZ1 และ UCSZ0 ใน UCSRC

บตท 1 RXB8: Receive data bit 8 บตท 8 ของการรบขอมล แบบ 9 บต

บตท 0 TXB8: Transmit data bit 8 บตท 8 ของการสงขอมล แบบ 9 บต

32กำรสอสำรแบบอนกรม

รจสเตอร UCSRC (USART Control and Status Register C) รจสเตอรควบคมการท างานและแสดงสถานการณท างานของโมดล

USART ชด A เกยวของกบอตราบอตในการรบสง

บตท 7 6 5 4 3 2 1 0

 ชอบต UMSEL1 UMSEL0 UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

คาเรมตน 0 0 0 0 0 1 1 0

UMSEL1 UMSEL0 Mode

0 0 Asynchronous USART

0 1 Synchronous USART

1 0 (Reserved)

1 1 Master SPI (MSPIM)(1)

บตท 7:6 – UMSEL1:0 USART mode select

33กำรสอสำรแบบอนกรม

รจสเตอร UCSRC (USART Control and Status Register C)

บตท 5:4 – UPM1:0: Parity mode

บตท 3 – USBS: Stop bit selectUSBS Stop bit(s)

0 1-bit1 2-bit

บตท 2:1 – UCSZ1:0: Character sizeใชรวมกบกบ UCSZ2 ใน UCSRB

บตท 0 – UCPOL: Clock polarityในแบบอะซงโครนสใหบตนเปน 0 ถาใชในแบบ ซงโครนส เปนการก าหนดขอบสญญาณ XCX

UPM1 UPM0 Parity mode0 0 Disable0 1 Reserved1 0 Enable พำรตค

1 1 Enable พำรตค

UCSZ2 UCSZ1 UCSZ0 Character size

0 0 0 5 บต

0 0 1 6 บต

0 1 0 7 บต

0 1 1 8 บต

1 0 0 Reserved

1 0 1 Reserved

1 1 0 Reserved

1 1 1 9 บต

UCPOLTransmitted data changed

(output of TxDn pin)

Received data sampled

(input on RxDn pin)

0 Rising XCK edge Falling XCK edge

1 Falling XCK edge Rising XCK edge

34กำรสอสำรแบบอนกรม

ตวอยางโปรแกรม Serial Output โดยใช AVR Studio#include <avr/io.h>#include <util/delay.h>

void serial_init(unsigned int bittimer){

/* Set the baud rate */UBRR0H = (unsigned char) (bittimer >> 8);UBRR0L = (unsigned char) bittimer;/* set the framing to 8N1 */UCSR0C = (3 << UCSZ00);/* Engage! */UCSR0B = (1 << RXEN0) | (1 << TXEN0);return;

}

void serial_write(unsigned char c){

while ( !(UCSR0A & (1 << UDRE0)) );UDR0 = c;

}

35กำรสอสำรแบบอนกรม

ตวอยางโปรแกรม Serial Output โดยใช AVR Studio (ตอ)#define SPEED 9600int main (void){

char i = 0;char *str = "the quick brown fox jumps over the lazy dog. 1234567890\r\n";

/* let the preprocessor calculate this */serial_init( ( F_CPU / SPEED / 16 ) - 1);

while (1) {serial_write(str[i++]);if (str[i] == '\0') {

i = 0;_delay_ms(500);

}}return 0;

}

36กำรสอสำรแบบอนกรม

ตวอยางโปรแกรม Serial Input โดยใช AVR Studio#include <avr/io.h>#include <util/delay.h>

void serial_init(unsigned int bittimer){

/* Set the baud rate */UBRR0H = (unsigned char) (bittimer >> 8);UBRR0L = (unsigned char) bittimer;/* set the framing to 8N1 */UCSR0C = (3 << UCSZ00);/* Engage! */UCSR0B = (1 << RXEN0) | (1 << TXEN0);return;

}

unsigned char serial_read(void){

while( !(UCSR0A & (1 << RXC0)) );

return UDR0;}

37กำรสอสำรแบบอนกรม

ตวอยางโปรแกรม Serial Input โดยใช AVR Studio (ตอ)void serial_write(unsigned char c){

while ( !(UCSR0A & (1 << UDRE0)) );

UDR0 = c;}

#define SPEED 9600int main (void){

/* let the preprocessor calculate this */serial_init( ( F_CPU / SPEED / 16 ) - 1);

while (1) {/* read a character and echo back the next one */serial_write( serial_read() + 1);

}return 0;

}

38กำรสอสำรแบบอนกรม

Arduino : Serial if (Serial)

available()

begin()

end()

find()

findUntil()

flush()

parseFloat()

parseInt()

peek()

print()

println()

read()

readBytes()

readBytesUntil()

setTimeout()

write() begin()

อำงอง http://arduino.cc/en/Reference/Serial

ตวอยางการสงขอมล โดยใช Arduino

กำรสอสำรแบบอนกรม 39

int analogValue = 0; // variable to hold the analog value

void setup() {

Serial.begin(9600); // open the serial port at 9600 bps:

}

void loop() {

analogValue = analogRead(0); // read the analog input on pin 0:

// print it out in many formats:

Serial.println(analogValue); // print as an ASCII-encoded decimal

Serial.println(analogValue, DEC); // print as an ASCII-encoded decimal

Serial.println(analogValue, HEX); // print as an ASCII-encoded hexadecimal

Serial.println(analogValue, OCT); // print as an ASCII-encoded octal

Serial.println(analogValue, BIN); // print as an ASCII-encoded binary

// delay 10 milliseconds before the next reading:

delay(10);

}

40กำรสอสำรแบบอนกรม

ระดบสญญาณตามมาตราฐาน RS-232

41กำรสอสำรแบบอนกรม

Line EIA-232D Driver and Line Receivers

42กำรสอสำรแบบอนกรม

DS275 Line-Powered RS-232 Transceiver Chip

RXOUT RS–232 Receiver Output VDRV Transmit driver +V

TXIN RS–232 Driver Input GND System Ground (0V)

TXOUT RS–232 Driver Output NC No Connection

RXIN RS–232 Receive Input VCC System Logic Supply (+5V)

43กำรสอสำรแบบอนกรม

RS-232 Specs

SPECIFICATIONS RS232

Mode of Operation SINGLE-ENDED

Total Number of Drivers and Receivers on One Line 1 DRIVER1 RECVR

Maximum Cable Length 50 FT.

Maximum Data Rate 20kb/s

Maximum Driver Output Voltage +/-25V

Driver Output Signal Level (Loaded Min.)Loaded +/-5V to +/-15V

Driver Output Signal Level (Unloaded Max) Unloaded +/-25V

Driver Load Impedance (Ohms) 3k to 7k

Max. Driver Current in High Z State (Power On) N/A

Max. Driver Current in High Z State (Power Off) +/-6mA @ +/-2v

Slew Rate (Max.) 30V/uS

Receiver Input Voltage Range +/-15V

Receiver Input Sensitivity +/-3V

44กำรสอสำรแบบอนกรม

RS-232 vs RS-423

SPECIFICATIONS RS232 RS423

Mode of Operation SINGLE-ENDED SINGLE-ENDED

Total Number of Drivers and Receivers on One Line 1 DRIVER 1 RECVR 1 DRIVER10 RECVR

Maximum Cable Length 50 FT. 4000 FT.

Maximum Data Rate 20kb/s 100kb/s

Maximum Driver Output Voltage +/-25V +/-6V

Driver Output Signal Level (Loaded Min.) Loaded +/-5V to +/-15V +/-3.6V

Driver Output Signal Level (Unloaded Max) Unloaded +/-25V +/-6V

Driver Load Impedance (Ohms) 3k to 7k >=450

Max. Driver Current in High Z State Power On N/A N/A

Max. Driver Current in High Z State Power Off +/-6mA @ +/-2v +/-100uA

Slew Rate (Max.) 30V/uS Adjustable

Receiver Input Voltage Range +/-15V +/-12V

Receiver Input Sensitivity +/-3V +/-200mV

45กำรสอสำรแบบอนกรม

RS232 Pin Assignments (DB9 PC signal set)

Pin 1 Received Line Signal Detector

(Data Carrier Detect) In

Pin 2 Received Data In

Pin 3 Transmit Data Out

Pin 4 Data Terminal Ready Out

Pin 5 Signal Ground

Pin 6 Data Set Ready In

Pin 7 Request To Send Out

Pin 8 Clear To Send In

Pin 9 Ring Indicator

46กำรสอสำรแบบอนกรม

RS232 Pin Assignments (DB25 PC signal set)

Pin 1 Protective Ground

Pin 2 Transmit Data

Pin 3 Received Data

Pin 4 Request To Send

Pin 5 Clear To Send

Pin 6 Data Set Ready

Pin 7 Signal Ground

Pin 8 Received Line Signal Detector

(Data Carrier Detect)

Pin 20 Data Terminal Ready

Pin 22 Ring Indicator

47กำรสอสำรแบบอนกรม

RS232 Pin Assignments on Modular Connector

48กำรสอสำรแบบอนกรม

การตอสายแบบปอนกลบ

Handshake looping a PC serial connector RS232 DB9 PC Loopback test plug

49กำรสอสำรแบบอนกรม

ตวอยางการตอสายแบบครบ

50กำรสอสำรแบบอนกรม

วงจร RS232 Buffer ระหวาง พซกบ ไมโครคอนโทรเลอรโดยใช ทรานซสเตอร

อางอง

1. http://arduino.cc/en/Reference/Serial2. http://teacher.aru.ac.th/sawita/images/stories/file/PDF_Presentation/3503103_Networ

king/02092010_Network_Chapter5.pdf3. https://www.mainframe.cx/~ckuethe/avr-c-tutorial/#usart-out

51กำรสอสำรแบบอนกรม

top related