ความแตกต่าง การสื่อสารระหว่าง UART และ SPI Full Duplex หรือ Half Duplex กันแน่ ?

สวัสดีครับ ทุกๆคน 
ในทางที่ผมเข้าใจก็ คือ
UART เป็นการสื่อสาร แบบ Full Duplex เป็นการสื่อสารที่ทั้ง 2 ฝ่ายสามารถส่งข้อมูลหากันได้ สามารถที่จะรับและส่งข้อมูลพร้อมกันได้
SPI    เป็นการสื่อสาร แบบ Full Duplex เหมือนกัน แต่บางข้อมูลก็บอกว่าเป็น แบบ Half Duplex โดย Half Duplex เป็นการสื่อสารที่ทั้ง 2 ฝ่ายสามารถที่จะส่งข้อมูลหากันได้แต่จะต้องสลับกัน รับ/ส่ง สรุปแล้ว SPI เป็นแบบไหนกันแน่ ?

แต่ในส่วนของ UART และ SPI ความเหมือนกัน คือ เป็นระบบการสือสารแบบ Serial Communication (อนุกรม) แต่ความแตกต่างจะอยู่ที่
UART  Serial Protocol แบบ Asynchronous  เป็นการสื่อสารโดยไม่ต้องใช่ สัญญาณ นาฬิกา มากำหนด แค่ตั้ง Baud rate ระหว่างตัวรับและตัวส่งให้ตรง  กัน ไม่มีการกำหนด ระหว่าง ตัวแม่กับ ตัวลูก 
SPI Protocol แบบ Synchronous  เป็นการสื่อสารที่ต้องใช่ สัญญาณ นาฬิกา ต้องมีการกำหนดระหว่าง ตัวแม่กับ ตัวลูก และมีการกำหนดตำแหน่งตัวลูกว่าต้องการจะคุยกับตัวไหน 

สิ่งที่ทำอยู่ คือตอนนี้ ผมนำการสื่อสารทั้ง สองนี้มารวมกันโดน มีด้วยกัน 3 ตัว
1. Arduino NANO  2. Arduino MEGA 3.Touch Screen TFT LCD
โดย  Arduino NANO จะติดต่อสื่อสาร กับทั้ง 2แบบ
  1. Arduino NANO ติดต่อสื่อสารกับ Touch Screen TFT LCD กันแบบ SPI
  2. Arduino NANO ติดต่อสื่อสาร กับ  Arduino MEGA แบบ UART

โดยสามารถทำงานได้ตามปกติ แต่พอผมจะมาเขียน ในรายงาย ผมเลย งงว่าสรุป SPI เป็นการสื่อสารแบบไหนกัน แน่ ขอบคุณ ทุกๆคนมากถ้ามีแหล่งข้อมูลมาให้ผมดู หรือมาสอนทำให้เข้าใจได้มากขึ้นครับ

โดยเหตุผลที่ผมไม่เข้าใจการทำงานของ SPI โดยละเอียด เพราะว่าผมดูแล้วแค่ต่อตามแบบเขาในส่วนของการติดต่อ และสามารถเขียนปรับแต่งหน้าจอได้เพราะเข้าใจในส่วนนี้แล้ว แต่ผมยังไม่เข้าใจในการทำงาน แบบ SPI แบบละเอียด ถ้า เสนอแนะผมได้ขอบคุณมากเลยครับ

อันนี้เป็นแหล่งที่มาสำหรับเขียน Arduino  กับ Touch Screen TFT LCD ครับ
https://www.youtube.com/watch?v=4DtuOeeYHys&t=343s
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่