Lab 3.3: Master เขียนค่าไปยัง I2C Slave


i2c overview

โจทย์

ให้สองกลุ่มจับคู่กัน โดยให้สุ่มเลือก 1 กลุ่มให้เป็น I2C Master และอีกกลุ่มเป็น I2C Slave ให้ทั้งสองกลุ่มเขียนโปรแกรมเพื่อให้ เมื่อกดปุ่มบนบอร์ดของ Master แล้ว ไฟ LED บนบอร์ดของ Slave จะติด เมื่อปล่อยปุ่มก็ให้ LED ดับไปด้วย

เมื่อทำสำเร็จให้สลับบทบาทกัน เพื่อให้ทุกกลุ่มมีโอกาสได้เขียนโปรแกรมฝั่ง Slave

i2c lab press btn ctrl led

จุดประสงค์การเรียนรู้

เพื่อฝึกเขียนโปรแกรม I2C ฝั่ง Slave

แนวทางปฏิบัติ

ให้ฝั่ง Slave เลือกตำแหน่งใน Register ที่จะเป็นตัวกำหนดสถานะติดดับของ LED แล้วแจ้งให้ทางฝั่ง Master เขียนค่าลงในตำแหน่งนั้นๆ เมื่อต้องการควบคุม LED ของ Slave

ฝั่ง Slave: เขียน Loop คอยตรวจสอบค่าของ Register ตำแหน่งที่ตกลงกันไว้เพื่อทำการตั้งสถานะเปิดปิดของ LED

ฝั่ง Master: เขียนค่าไปยัง Register ของฝั่ง Slave ตามสถานะปุ่มกดบนบอร์ดของตน