
ภาษา C สำหรับระบบสมองกลฝังตัว (The C Language for Embedded Systems)
เรียนรู้การเขียนโปรแกรมภาษา C สำหรับระบบสมองกลฝังตัวอย่างมืออาชีพ ตั้งแต่พื้นฐานไปจนถึงเทคนิคการออกแบบโครงสร้างโปรแกรมที่มีประสิทธิภาพและเชื่อถือได้ ผ่านแนวคิดและรูปแบบการออกแบบ (Design Patterns) ที่นำไปใช้ได้จริงกับไมโครคอนโทรลเลอร์
รายละเอียดหลักสูตร
หลักสูตรนี้ออกแบบมาเพื่อปูพื้นฐานและพัฒนาทักษะการเขียนโปรแกรมภาษา C สำหรับงานระบบสมองกลฝังตัว (Embedded Systems) โดยเฉพาะ ซึ่งแตกต่างจากการเขียน C สำหรับคอมพิวเตอร์ทั่วไป เนื่องจากต้องคำนึงถึงข้อจำกัดด้านหน่วยความจำ ความเร็วประมวลผล การจัดการเวลาแบบเรียลไทม์ และการทำงานร่วมกับฮาร์ดแวร์โดยตรง
ผู้เรียนจะได้เข้าใจตั้งแต่โครงสร้างพื้นฐานของภาษา C การจัดการพอร์ตและขา I/O การควบคุมเวลาด้วย Timer การออกแบบสถาปัตยกรรมซอฟต์แวร์แบบ Time-Triggered รวมถึงรูปแบบการออกแบบ (Patterns) ที่ช่วยให้โค้ดมีโครงสร้างชัดเจน บำรุงรักษาง่าย และเชื่อถือได้
ตลอด 12 ชั่วโมง ผู้เรียนจะได้ทั้งทฤษฎีและตัวอย่างโค้ดที่นำไปประยุกต์ใช้กับโปรเจกต์จริง พร้อมแนวทางการเขียนโปรแกรมที่เน้นความปลอดภัยและความน่าเชื่อถือของระบบ เหมาะสำหรับผู้ที่ต้องการก้าวเข้าสู่สายงานพัฒนาระบบสมองกลฝังตัวอย่างมีรากฐานที่มั่นคง
สิ่งที่คุณจะได้เรียนรู้จากคอร์สนี้
คอร์สนี้เหมาะสำหรับใคร?
ความรู้หรือเครื่องมือพื้นฐานที่จำเป็น
เนื้อหาในคอร์สเรียน (31 บทเรียน)
Module 1: บทนำ
เข้าใจภาพรวมและขอบเขตเนื้อหาของหลักสูตรทั้งหมด ทราบวัตถุประสงค์และผลลัพธ์การเรียนรู้ที่จะได้รับ สามารถประเมินความรู้พื้นฐานของตนเองและเตรียมความพร้อมก่อนเรียนได้อย่างเหมาะสม รวมถึงสามารถติดตั้งเครื่องมือ ซอฟต์แวร์ และจัดเตรียมอุปกรณ์ที่จำเป็นสำหรับการเรียนตลอดหลักสูตร พร้อมเข้าใจแนวทางการเรียนที่จะช่วยให้ได้ประสิทธิภาพสูงสุด
Module 1: บทนำ
เข้าใจภาพรวมและขอบเขตเนื้อหาของหลักสูตรทั้งหมด ทราบวัตถุประสงค์และผลลัพธ์การเรียนรู้ที่จะได้รับ สามารถประเมินความรู้พื้นฐานของตนเองและเตรียมความพร้อมก่อนเรียนได้อย่างเหมาะสม รวมถึงสามารถติดตั้งเครื่องมือ ซอฟต์แวร์ และจัดเตรียมอุปกรณ์ที่จำเป็นสำหรับการเรียนตลอดหลักสูตร พร้อมเข้าใจแนวทางการเรียนที่จะช่วยให้ได้ประสิทธิภาพสูงสุด
Module 2: ความรู้เบื้องต้นเกี่ยวกับระบบสมองกลฝังตัว
เข้าใจความหมายและลักษณะเฉพาะของระบบสมองกลฝังตัว ตลอดจนความแตกต่างจากการเขียนโปรแกรมทั่วไป สามารถอธิบายสถาปัตยกรรมพื้นฐานของไมโครคอนโทรลเลอร์ ทั้งหน่วยประมวลผล หน่วยความจำ และส่วน I/O เข้าใจกระบวนการและเครื่องมือในการพัฒนาโปรแกรมฝังตัว รวมถึงเหตุผลที่ภาษา C เป็นภาษาที่เหมาะสมกับงานประเภทนี้
Module 2: ความรู้เบื้องต้นเกี่ยวกับระบบสมองกลฝังตัว
เข้าใจความหมายและลักษณะเฉพาะของระบบสมองกลฝังตัว ตลอดจนความแตกต่างจากการเขียนโปรแกรมทั่วไป สามารถอธิบายสถาปัตยกรรมพื้นฐานของไมโครคอนโทรลเลอร์ ทั้งหน่วยประมวลผล หน่วยความจำ และส่วน I/O เข้าใจกระบวนการและเครื่องมือในการพัฒนาโปรแกรมฝังตัว รวมถึงเหตุผลที่ภาษา C เป็นภาษาที่เหมาะสมกับงานประเภทนี้
Module 3: พื้นฐานภาษา C สำหรับงานฝังตัว
สามารถเลือกใช้ชนิดข้อมูลให้เหมาะสมกับข้อจำกัดด้านหน่วยความจำ เข้าใจการใช้คีย์เวิร์ดสำคัญอย่าง const, volatile และ static ในบริบทของงานฝังตัว สามารถใช้ตัวดำเนินการระดับบิตเพื่อควบคุมฮาร์ดแวร์ และเขียนโครงสร้างควบคุมและฟังก์ชันได้อย่างถูกต้องและมีประสิทธิภาพ
Module 3: พื้นฐานภาษา C สำหรับงานฝังตัว
สามารถเลือกใช้ชนิดข้อมูลให้เหมาะสมกับข้อจำกัดด้านหน่วยความจำ เข้าใจการใช้คีย์เวิร์ดสำคัญอย่าง const, volatile และ static ในบริบทของงานฝังตัว สามารถใช้ตัวดำเนินการระดับบิตเพื่อควบคุมฮาร์ดแวร์ และเขียนโครงสร้างควบคุมและฟังก์ชันได้อย่างถูกต้องและมีประสิทธิภาพ
Module 4: การเขียนโปรแกรมเชิงโครงสร้างและการจัดการหน่วยความจำ
เข้าใจและใช้งาน Pointer ในบริบทของงานฝังตัวได้อย่างปลอดภัย สามารถใช้โครงสร้างข้อมูลอย่าง Array, Struct, Union และ Enum เข้าใจหลักการเข้าถึง Register และ Memory-Mapped I/O รวมถึงสามารถจัดระเบียบโปรแกรมเป็นโมดูลด้วย Header File และ Source File เพื่อให้โครงการมีโครงสร้างที่ดีและบำรุงรักษาง่าย
Module 4: การเขียนโปรแกรมเชิงโครงสร้างและการจัดการหน่วยความจำ
เข้าใจและใช้งาน Pointer ในบริบทของงานฝังตัวได้อย่างปลอดภัย สามารถใช้โครงสร้างข้อมูลอย่าง Array, Struct, Union และ Enum เข้าใจหลักการเข้าถึง Register และ Memory-Mapped I/O รวมถึงสามารถจัดระเบียบโปรแกรมเป็นโมดูลด้วย Header File และ Source File เพื่อให้โครงการมีโครงสร้างที่ดีและบำรุงรักษาง่าย
Module 5: การควบคุมพอร์ตและขา I/O
สามารถอ่านและเขียนค่าที่ขา Digital I/O เพื่อควบคุมและรับสัญญาณจากอุปกรณ์ภายนอก เข้าใจและประยุกต์ใช้ Port I/O Pattern เพื่อให้การควบคุมขามีโครงสร้างชัดเจน สามารถเขียนโปรแกรมควบคุม LED และอ่านค่าจากสวิตช์ได้จริง รวมถึงจัดการปัญหา Switch Debouncing ได้อย่างเหมาะสม
Module 5: การควบคุมพอร์ตและขา I/O
สามารถอ่านและเขียนค่าที่ขา Digital I/O เพื่อควบคุมและรับสัญญาณจากอุปกรณ์ภายนอก เข้าใจและประยุกต์ใช้ Port I/O Pattern เพื่อให้การควบคุมขามีโครงสร้างชัดเจน สามารถเขียนโปรแกรมควบคุม LED และอ่านค่าจากสวิตช์ได้จริง รวมถึงจัดการปัญหา Switch Debouncing ได้อย่างเหมาะสม
Module 6: การจัดการเวลาและสถาปัตยกรรม Time-Triggered
เข้าใจแนวคิดการจัดการเวลาในระบบฝังตัว สามารถเลือกใช้ระหว่าง Software Delay และ Hardware Timer ได้อย่างเหมาะสมตามสถานการณ์ เข้าใจข้อดีและข้อจำกัดของสถาปัตยกรรมแบบ Super Loop และสามารถออกแบบและนำสถาปัตยกรรมแบบ Time-Triggered พร้อม Scheduler เบื้องต้นมาประยุกต์ใช้เพื่อจัดการงานหลายงานได้อย่างเป็นระบบ
Module 6: การจัดการเวลาและสถาปัตยกรรม Time-Triggered
เข้าใจแนวคิดการจัดการเวลาในระบบฝังตัว สามารถเลือกใช้ระหว่าง Software Delay และ Hardware Timer ได้อย่างเหมาะสมตามสถานการณ์ เข้าใจข้อดีและข้อจำกัดของสถาปัตยกรรมแบบ Super Loop และสามารถออกแบบและนำสถาปัตยกรรมแบบ Time-Triggered พร้อม Scheduler เบื้องต้นมาประยุกต์ใช้เพื่อจัดการงานหลายงานได้อย่างเป็นระบบ
Module 7: รูปแบบการออกแบบและการประยุกต์ใช้งานจริง
เข้าใจการทำงานของ Interrupt และสามารถเขียน Interrupt Service Routine ได้อย่างปลอดภัย สามารถออกแบบ Scheduler แบบ Cooperative นำแนวทางการเขียนโปรแกรมเชิงป้องกันมาใช้เพื่อเพิ่มความน่าเชื่อถือของระบบ ตลอดจนรู้เทคนิคการดีบักและทดสอบโปรแกรมฝังตัว และสามารถบูรณาการความรู้ทั้งหมดเพื่อออกแบบระบบขนาดเล็กด้วย Time-Triggered Pattern ได้สำเร็จ
Module 7: รูปแบบการออกแบบและการประยุกต์ใช้งานจริง
เข้าใจการทำงานของ Interrupt และสามารถเขียน Interrupt Service Routine ได้อย่างปลอดภัย สามารถออกแบบ Scheduler แบบ Cooperative นำแนวทางการเขียนโปรแกรมเชิงป้องกันมาใช้เพื่อเพิ่มความน่าเชื่อถือของระบบ ตลอดจนรู้เทคนิคการดีบักและทดสอบโปรแกรมฝังตัว และสามารถบูรณาการความรู้ทั้งหมดเพื่อออกแบบระบบขนาดเล็กด้วย Time-Triggered Pattern ได้สำเร็จ
- เข้าเรียนได้ทันทีตลอด 24 ชม.
- พร้อมซอร์สโค้ดและไฟล์ประกอบการเรียน
- ปรึกษาคำถาม/ข้อสงสัยกับผู้สอนโดยตรง
ผู้จัดสอน
Machines Labs Team
Maker & Robotics Engineers
ทีมวิศวกรและผู้เชี่ยวชาญด้านฮาร์ดแวร์ เทคโนโลยีหุ่นยนต์ และระบบ IoT ที่มุ่งเน้นการสร้างองค์ความรู้ภาคปฏิบัติเพื่อการใช้งานจริงในอุตสาหกรรมยุคใหม่