[KidBright IDE] ตอน ฟังก์ชั่นและปัญหาที่พบ

บทความนี้อ้างอิงซอฟต์แวร์ kidBright IDE Ver. 1.5.0
บทความนี้ใช้ได้กับบอร์ด kidBright32 และบอร์ด OpenKB

ฟังก์ชั่นช่วยลดความซับซ้อนให้กับการเขียนโปรแกรม แต่สำหรับ kidBright
IDE Ver. 1.5.0 อาจจะมีเรื่องที่ต้องระวังในการวางบล็อก เป็นอย่างไรมาดูกัน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สำหรับการเขียนโปรแกรม เพื่อให้โปรแกรมที่มีความซับซ้อน ถูกจัดให้เป็นหมวดหมู่ และเรียกมาใช้งานภายหลังได้ง่าย เราสามารถบรรจุชุดคำสั่งเหล่านั้นให้อยู่ในรูปของ Function และเรียกใช้งานผ่าน Call Function

ตัวอย่างฟังก์ชั่น Forward และ Backward และการเรียกใช้งาน

ฟังก์ชั่นนี้สำหรับขับเซอร์โวมอเตอร์ 2 ตัวให้หุ่นยนต์เคลื่อนที่เดินหน้าและถอยหลัง สำหรับการเรียกใช้งานก็เรียกผ่าน Call function การสร้างฟังก์ชั่นแค่ 1 หรือ 2 ตัวในโปรแกรม ก็จะไม่มีปัญหาอะไร

การยุบและขยายฟังก์ชั่น

แต่ถ้าฟังก์ชั่นมีมากขึ้น ก็จะละลานตาและไล่การทำงานได้ยาก ทางแก้ทำง่ายๆ โดยการยุบมันซะ

โดยคลิกเมาส์ขวาเลือกคำสั่ง Collapse Block ซึ่งฟังก์ชั่นยาวๆ จะถูกยุบเหลือเพียงชื่อกับคำสั่งสั้นๆ เพียงบรรทัดเดียว

ถ้าต้องการแก้ไข ก็สั่งขยายกลับมาได้ด้วยการคลิกเมาส์ขวาเลือกคำสั่ง Expand Block ฟังก์ชั่นก็จะขยายกลับมาเหมือนเดิม

ข้อควรระวัง กับการใช้งานฟังก์ชั่นบน kidBright IDE

ถ้าใครเคยเขียนโปรแกรมด้วยภาษา C (ยกเว้น Arduino ) จะพบว่าเราจะต้องเขียนฟังก์ชั่นอยู่เหนือชุดคำสั่งที่จะเรียกใช้ฟังก์ชั่นนั้น ๆ ไม่เช่นนั้นคอมไพเลอร์ซึ่งจะคอมไพล์แบบไล่ลำดับจากบนลงล่าง จะเรียกหาฟังก์ชั่นที่สร้างไว้ไม่เจอ
สำหรับ
kidBright IDE ซึ่งเป็นบล็อกก็จะมีรูปแบบใกล้เคียงกัน ติดอยู่ว่า เมื่อเกิดข้อผิดพลาดขึ้น จะไม่มีข้อความแจ้งตำแหน่งข้อผิดพลาด จะมีก็เพียงข้อความแจ้งเตือนว่าคอมไพล์ไม่ผ่านเท่านั้น


ตัวอย่าง

ภาพด้านซ้ายและขวา ฟังก์ชั่น Test ซึ่งภายในมีการเรียกใช้ฟังก์ชั่น Forward ด้านซ้ายจะคอมไพล์ไม่ผ่าน เนื่องจากตัวฟังก์ชั่นอยู่ด้านบน แต่รูปด้านขวาจะคอมไพล์ผ่าน เนื่องจากฟังก์ชั่น Test อยู่ด้านล่างฟังก์ชั่น Forward

สรุป เมื่อสร้างฟังก์ชั่นที่มีการเรียกใช้งานฟังก์ชั่นอีกครั้ง ฟังก์ชั่นที่ถูกเรียกใช้งานจะต้องอยู่บนฟังก์ชั่นที่เรียกเสมอ

ดังนั้นตำแหน่งการวางฟังก์ชั่นเป็นเรื่องสำคัญครับ ใครเจอปัญหาลองแก้ด้วยวิธีนี้ดู

Facebook Comments