โจทย์
ให้สองกลุ่มจับคู่กัน โดยให้สุ่มเลือก 1 กลุ่มให้เป็น I2C Master และอีกกลุ่มเป็น I2C Slave ให้ทั้งสองกลุ่มเขียนโปรแกรมเพื่อให้ เมื่อกดปุ่มบนบอร์ดของ Master แล้ว ไฟ LED บนบอร์ดของ Slave จะติด เมื่อปล่อยปุ่มก็ให้ LED ดับไปด้วย
เมื่อทำสำเร็จให้สลับบทบาทกัน เพื่อให้ทุกกลุ่มมีโอกาสได้เขียนโปรแกรมฝั่ง Slave
จุดประสงค์การเรียนรู้
เพื่อฝึกเขียนโปรแกรม I2C ฝั่ง Slave
แนวทางปฏิบัติ
ให้ฝั่ง Slave เลือกตำแหน่งใน Register ที่จะเป็นตัวกำหนดสถานะติดดับของ LED แล้วแจ้งให้ทางฝั่ง Master เขียนค่าลงในตำแหน่งนั้นๆ เมื่อต้องการควบคุม LED ของ Slave
ฝั่ง Slave: เขียน Loop คอยตรวจสอบค่าของ Register ตำแหน่งที่ตกลงกันไว้เพื่อทำการตั้งสถานะเปิดปิดของ LED
ฝั่ง Master: เขียนค่าไปยัง Register ของฝั่ง Slave ตามสถานะปุ่มกดบนบอร์ดของตน
Template โปรแกรมฝั่ง Slave
- Template : i2c_slave.c