ฟังก์ชันของคุณเอง และขอบเขตของตัวแปร
เมื่อโค้ดยาวขึ้น การตั้งชื่อส่วนที่ทำงานซ้ำเป็นฟังก์ชันทำให้อ่านง่ายขึ้นมาก และตัวแปรที่ประกาศข้างในจะอยู่แค่ข้างใน
ในบทนี้คุณจะ
- เขียนฟังก์ชันของตัวเองและเรียกใช้
- อธิบายความต่างระหว่างตัวแปรในฟังก์ชันกับตัวแปรนอกฟังก์ชัน
- ใช้พารามิเตอร์ส่งค่าเข้าไป
1. ตั้งชื่อให้สิ่งที่คุณทำซ้ำ
void flash(int ms) { digitalWrite(13,HIGH); delay(ms); digitalWrite(13,LOW); delay(ms); } แล้วเรียก flash(500); โค้ดใน loop() จะสั้นลงและอ่านออกทันทีว่ากำลังทำอะไร ไม่ต้องไล่อ่านทีละบรรทัด
2. ตัวแปรข้างในอยู่แค่ข้างใน
ตัวแปรที่ประกาศในฟังก์ชันเกิดตอนเข้าและหายตอนออก เรียกว่าตัวแปรเฉพาะที่ ถ้าอยากให้จำค่าข้ามการเรียก ต้องประกาศไว้นอกฟังก์ชัน หรือใส่คำว่า static ไว้ข้างหน้า
3. พารามิเตอร์ทำให้ใช้ซ้ำได้จริง
flash(500) กับ flash(120) ใช้ฟังก์ชันเดียวกันแต่ให้จังหวะต่างกัน นี่คือความต่างระหว่างการคัดลอกโค้ดไปวางกับการเขียนฟังก์ชัน เมื่อต้องแก้ คุณแก้ที่เดียว
ตรวจความเข้าใจ
ประกาศ int count = 0; ไว้ในฟังก์ชัน แล้วบวกหนึ่งทุกครั้งที่เรียก ค่าจะเป็นอย่างไร
ลงมือทำ
ย้ายส่วนที่ทำซ้ำไปเป็นฟังก์ชันของคุณเอง แล้วให้ loop() เหลือแค่การเรียกใช้ จังหวะยังคงหนึ่งวินาทีต่อรอบ
เริ่มแล็บใน StudioStudio จะเปิดวงจรเริ่มต้นของบทนี้ พร้อมคำใบ้ เฉลย และการตรวจคำตอบจากค่าที่วัดได้