บทช่วยสอนที่ 2 เกี่ยวกับการเขียนฟังก์ชันแบบกําหนดเองสําหรับบอร์ด Intel® Galileo
จนถึงจุดนี้ เราได้เขียนโค้ดของเราภายในฟังก์ชั่นการตั้งค่าและลูป ซึ่งถือว่าเป็นไปอย่างดีเยี่ยม แต่ถ้าโปรแกรมของคุณมีตรรกะที่ซับซ้อนมากมายจะเป็นอย่างไร คุณจะจัดระเบียบโค้ดของคุณอย่างไร
มีศิลปะในการเขียนโปรแกรมและเริ่มต้นด้วยการรู้ว่าจะวางโค้ดของคุณไว้ที่ใด
การเขียนโค้ดอาจยุ่งมากในบางครั้ง หากคุณเคยอ่านโค้ดโอเพนซอร์สใดๆ คุณอาจพบโค้ดที่:
- แสดงความคิดเห็น: รวมถึงความคิดเห็นช่วยให้คุณและใครก็ตามที่กําลังอ่านเข้าใจว่าเกิดอะไรขึ้น
- ไม่ได้จัดระเบียบตรรกะ: การจัดระเบียบโค้ดของคุณเป็นชุดตรรกะช่วยดีบักและการบํารุงรักษาโค้ด
- ชื่อทําให้เข้าใจผิด: ชื่อตัวแปรและฟังก์ชันควรอธิบายถึงสิ่งที่ต้องการทําอย่างถูกต้อง
- ความฉลาดเหนือความชัดเจน: ควรอ่านโค้ดได้อย่างง่ายดาย พยายามอย่าคล่องตัวในสิ่งที่คุณพยายามทํา
โปรแกรมในทุกภาษาสามารถเขียนและจัดระเบียบได้ แต่โปรแกรมเมอร์เห็นว่าเหมาะสม ซึ่งเป็นสิ่งที่ดีถ้าคุณเป็นเพียงผู้เดียวที่อ่านโค้ดของคุณ อย่างไรก็ตาม หากคุณกําลังทํางานในทีม สิ่งสําคัญคือต้องระบุแนวทางที่ทุกคนปฏิบัติตาม หนึ่งวัน รหัสที่คุณเขียนจะต้องได้รับการอัปเดตและอ่านโดยบุคคลอื่น การเขียนโค้ดแบบจัดระเบียบและการฝึกฝนวิธีการเขียนโค้ดทั่วไปจะช่วยให้คุณและเพื่อนวิศวกรของคุณเขียนโค้ดที่สวยงาม
สําหรับเคล็ดลับในการปรับปรุงสไตล์การเขียนโค้ดของคุณ โปรดดูคู่มือสไตล์การเขียนโค้ด C++ ของ Google
มีฟังก์ชันอยู่สองประเภท:
- ดําเนินการคําสั่งและส่งคืนที่ไม่มีค่า (ประเภทเป็นโมฆะ)
- ดําเนินการคําสั่งและส่งคืนค่า (ประเภทประกอบด้วย int, float, double)
ดูเพิ่มเติมได้ที่ ส่วน ประเภทข้อมูล ใน หน้าอ้างอิง Arduino
ประเภทฟังก์ชัน
Type void:
void sayHello(){
Serial.println("Hello!");
}
Type integer:
int theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything(){
return 42;
}
We can assign the value of functions that return something to variables:
int myAnswer = theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything();
เอาเป็นว่าเราต้องการทําให้ฟังก์ชั่นมีประโยชน์มากขึ้น เราสามารถใช้ พารามิเตอร์ ฟังก์ชันเพื่อส่งผ่านข้อมูลเฉพาะที่จะมีผลกระทบต่อผลลัพธ์ของฟังก์ชัน ตัวอย่างเช่น:
int add(int x, int y){
return x + y;
}
เราจะเรียกฟังก์ชันนี้ว่า การส่งผ่านพารามิเตอร์แบบกําหนดเองเช่นนั้น:
int numbersAdded = add(2, 2); // The variable numbersAdded is equal to 4
มีหลากหลายวิธีที่คุณสามารถเขียนฟังก์ชันได้ ทุกอย่างขึ้นอยู่กับสิ่งที่คุณต้องการทํา ที่ที่ดีในการเริ่มเขียนฟังก์ชันที่กําหนดเองคือการกําหนดฟังก์ชันที่ต้องการ
ฟังก์ชันที่ให้มา
ก่อนเขียนโค้ดของฟังก์ชัน จะเป็นการดีที่สุดที่จะพิจารณาสิ่งที่คุณพยายามทํา
- โปรแกรมจะส่งคืนค่าหรือไม่
- จะส่งผ่านพารามิเตอร์ไปกี่ตัว (หากมี)
- จุดประสงค์ของฟังก์ชันคืออะไร
มาแกล้งทําเป็นคุณกําลังเขียนโปรแกรมที่ส่งเอาต์พุตข้อความแบบกําหนดเองไปยังจอภาพซีเรียล ข้อความนี้จะแสดงความคิดเห็นเกี่ยวกับสภาพอากาศ (ซึ่งอาจขึ้นอยู่กับเซ็นเซอร์อุณหภูมิ เป็นต้น)
คุณไม่รู้ว่าโค้ดภายในฟังก์ชันจะมีลักษณะอย่างไร แต่คุณรู้ว่าคุณต้องการให้ทําอะไร:
- ใช้พารามิเตอร์แบบกําหนดเองสองตัวเพื่อเชื่อม (หรือเข้าร่วม) เข้าด้วยกัน
- ใช้ประเภท Double ที่จะต่อท้ายข้อความ
- ไม่ส่งคืนค่า
- เอาต์พุตของจอภาพซีเรียลจะพิมพ์ออกมา "ข้างนอก 30 องศา"
ภาพลักษณ์ของเราสามารถมีลักษณะดังนี้:
ยกเลิก myMessage(String msg1, String msg2, Double deg){}
การเรียกฟังก์ชันจะมีลักษณะดังนี้:
องศาที่นี่จะเป็นตัวแปรที่กําหนดไว้ล่วงหน้าโดยอ้างอิงการอ่านเซ็นเซอร์อุณหภูมิ
myMessage("Is is", degrees, "outside");
ท้าทาย
คุณจะเขียนโค้ดเพื่อให้งานของฟังก์ชันนี้เสร็จสมบูรณ์ได้อย่างไร
- แนะ นำ
- อินพุตขั้นสูง
- การมอดูเลตความกว้างของชีพจร (PWM)
- การเขียนฟังก์ชันแบบกําหนดเอง
- การใช้ฟังก์ชันแบบกําหนดเอง
- สรุปผล