I2C interface เป็นวิธีการที่สามารถเชื่อมต่ออุปกรณ์หลายๆ ตัวเข้าด้วยกันผ่านสายสัญญาณเดียว โดยมีความสามารถในการส่งข้อมูลและควบคุมการสื่อสารระหว่างอุปกรณ์อย่างมีประสิทธิภาพ
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-166.png)
การใช้งาน I2C มีความยืดหยุ่นสูงและเหมาะสำหรับการใช้งานในหลายๆ แวดวงอุตสาหกรรม อาทิเช่น การสื่อสารระหว่างไมโครคอนโทรลเลอร์กับเซ็นเซอร์หรืออุปกรณ์ต่างๆ ทำให้เป็นเครื่องมือที่สำคัญในการพัฒนาและควบคุมระบบอิเล็กทรอนิกส์ โดย CH32V003 ได้มีวงจร I2C เตรียมไว้ใน MCU สามารถกำหนดการใช้งานต่างๆ ผ่าน Register ได้
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-127.png)
Register และ Address ที่เกี่ยวข้อง
โดยทั่วไปแล้ว MCU จะทำงานได้เมื่อเราเขียน Code เข้าไปความคุมค่าต่างๆใน Address ที่ระบุการทำงานในจุดนั้นๆ ในที่นี้จะเป็นส่วนของ I2C Control โดยมีรายละเอียดดังนี้
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-165.png)
ในการกำหนดค่าการทำงานของ I2C Control จะมี Address เริ่มต้นที่ 0x4000 5400 – 0x4000 5800 ใช้สำหรับ เปิด/ปิด สัญญาณ ADC ของ Module ต่างๆ
ในช่วง Address ที่ระบุไว้สามารถแยกย่อยได้ตามตารางที่เกี่ยวข้องด้านล่างนี้
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-128.png)
โดยหลักๆแล้ว ในการเปิดการทำงานของวงจรต่างๆ จะใช้ Register ขนาด 32bit ที่ชื่อ I2C_ ตามด้วยชื่อย่อการทำงานต่างๆ
คำย่อต่างๆ จะใช้งานอยู่ใน Code ที่ทาง WCH ให้มา เราสามารถใช่คำย่อเหล่านี้ในการอ้างอิงหรือเขียนโปรแกรมได้
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-178.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-179.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-180.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-181.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-182.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-183.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-184.png)
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-185.png)
Code ที่เกี่ยวข้อง
code ที่เกี่ยวข้องกับการควบคุม Register RCC จะอยู่ที่ไฟล์ ch32v00x_i2c.h และ ch32v00x_i2c.c ใน folder ที่อยู่ใน Framework
![](https://www.makerwitawat.com/wp-content/uploads/2023/06/image-129.png)
CH32V003 : https://shopee.co.th/witawat57/23167328296
สนับสนุนร้านค้าของเรา เพื่อจะได้เป็นกำลังใจเขียนบทความใหม่ๆ