- ในโค้ดนี้การรับสถานะของสวิตซ์จะใช้ DigitalIn แบบ array เช่นเดียวกันกับการส่ง DigitalOut ไปเป็นสัญญาณเปิดปิด LED
- ในการควบคุมโหมดการทำงานของโค้ดนี้ จะใช้ค่าสถานะของสวิตซ์ 2 ตัว และตัวแปรอีกหนึ่งตัวจะเป็นตัวช่วยควบคุมให้โปรแกรมทำคำสั่งเพียงครั้งเดียวต่อการกดสวิตซ์ 1 ครั้ง
- สำหรับโหมดที่ 1 ซึ่งเป็นการเขียนข้อมูลลงไปบน eeprom จะใช้ array 1 ตัวรับค่าสถานะของสวิตซ์ของบอร์ด NX100 จากนั้นจึงใช้การรันลูป 7 ครั้งเพื่อเขียนข้อมูลลงไปบน eeprom 7 ตำแหน่ง (เขียนทีละตำแหน่ง แต่ละตำแหน่งใช้ loop 1รอบ) โดยหากมีการบันทึกข้อมูลเพิ่มขึ้น address ที่ใช้บันทึกก็จะเลื่อนไปทีละ 7 ตำแหน่งเรื่อย ๆ ด้วย หรือก็คือ หากบันทึกข้อมูลแล้วจะทำการเลื่อน address ไปยังตำแหน่งที่ว่างตำแหน่งถัดไปเพื่อไม่ให้เกิดการซ้อนทับกันของข้อมูล
- โหมดที่ 2 เป็นการอ่านข้อมูลจากใน eeprom 7 ตำแหน่ง โดยจะใช้การวนลูป 7 รอบเพื่อรับข้อมูลมาเก็บไว้ในตัวแปร array (รับข้อมูลจาก eeprom มาเก็บไว้ใน array ทีละตำแหน่ง) จากนั้นจึงใช้ค่าในตัวแปรนั้นไปควบคุมสถานะของหลอด LED แต่ละหลอด
***********************************
VDO แสดงการทำงานของโปรแกรม
- โปรแกรมนี้เป็นการใช้บอร์ด nucleo ติดต่อกับ eeprom โดยโปรแกรมจะมีโหมดการทำงาน 2 โหมดซึ่งสามารถเลือกโหมดได้โดยสวิตซ์ทางซ้ายสุดบนบอร์ด NX100 โดยหากสวิตซ์อยู่ที่ logic 1 จะเป็นการบันทึกค่าสถานะของสวิตซ์อีก 7 ตัวที่เหลือลงไปบน address 7 ตัวแหน่งของ eeprom และหากสวิตซ์ตัวซ้ายสุดอยู่ที่ logic 0 จะเป็นการอ่านค่าที่บันทึกอยู่ให eeprom มาแสดงผ่านทางหลอด LED 7 หลอด โดยการทำงานแต่ละรอบจะต้องกดสวิตซ์ User_Button บนบอร์ด nucleo ก่อน
************************************
ไม่มีความคิดเห็น:
แสดงความคิดเห็น