กลับหน้าหลักสูตร

ภาษา C สำหรับระบบสมองกลฝังตัว (The C Language for Embedded Systems)

เรียนรู้การเขียนโปรแกรมภาษา C สำหรับระบบสมองกลฝังตัวอย่างมืออาชีพ ตั้งแต่พื้นฐานไปจนถึงเทคนิคการออกแบบโครงสร้างโปรแกรมที่มีประสิทธิภาพและเชื่อถือได้ ผ่านแนวคิดและรูปแบบการออกแบบ (Design Patterns) ที่นำไปใช้ได้จริงกับไมโครคอนโทรลเลอร์

7 บทเรียนหลัก31 หัวข้อการเรียนรู้~5.2 ชั่วโมงการเรียน (310 นาที)

รายละเอียดหลักสูตร

หลักสูตรนี้ออกแบบมาเพื่อปูพื้นฐานและพัฒนาทักษะการเขียนโปรแกรมภาษา C สำหรับงานระบบสมองกลฝังตัว (Embedded Systems) โดยเฉพาะ ซึ่งแตกต่างจากการเขียน C สำหรับคอมพิวเตอร์ทั่วไป เนื่องจากต้องคำนึงถึงข้อจำกัดด้านหน่วยความจำ ความเร็วประมวลผล การจัดการเวลาแบบเรียลไทม์ และการทำงานร่วมกับฮาร์ดแวร์โดยตรง

ผู้เรียนจะได้เข้าใจตั้งแต่โครงสร้างพื้นฐานของภาษา C การจัดการพอร์ตและขา I/O การควบคุมเวลาด้วย Timer การออกแบบสถาปัตยกรรมซอฟต์แวร์แบบ Time-Triggered รวมถึงรูปแบบการออกแบบ (Patterns) ที่ช่วยให้โค้ดมีโครงสร้างชัดเจน บำรุงรักษาง่าย และเชื่อถือได้

ตลอด 12 ชั่วโมง ผู้เรียนจะได้ทั้งทฤษฎีและตัวอย่างโค้ดที่นำไปประยุกต์ใช้กับโปรเจกต์จริง พร้อมแนวทางการเขียนโปรแกรมที่เน้นความปลอดภัยและความน่าเชื่อถือของระบบ เหมาะสำหรับผู้ที่ต้องการก้าวเข้าสู่สายงานพัฒนาระบบสมองกลฝังตัวอย่างมีรากฐานที่มั่นคง

สิ่งที่คุณจะได้เรียนรู้จากคอร์สนี้

เข้าใจหลักการทำงานของระบบสมองกลฝังตัว และความแตกต่างจากการเขียนโปรแกรมบนคอมพิวเตอร์ทั่วไป
เขียนโปรแกรมภาษา C สำหรับไมโครคอนโทรลเลอร์ได้อย่างมีโครงสร้างและเป็นมืออาชีพ
เลือกใช้ชนิดข้อมูลและจัดการหน่วยความจำได้อย่างเหมาะสมภายใต้ทรัพยากรที่จำกัด
ควบคุมฮาร์ดแวร์ด้วยการจัดการระดับบิต การใช้ Pointer และการเข้าถึง Register
ควบคุมพอร์ตและขา I/O เพื่อเชื่อมต่อกับอุปกรณ์ภายนอก เช่น LED และสวิตช์
จัดการเวลาในระบบฝังตัวด้วย Software Delay และ Hardware Timer
ออกแบบสถาปัตยกรรมซอฟต์แวร์แบบ Time-Triggered และใช้งาน Scheduler เบื้องต้น
เข้าใจการทำงานของ Interrupt และเขียน Interrupt Service Routine ได้อย่างปลอดภัย
ประยุกต์ใช้รูปแบบการออกแบบ (Design Patterns) และแนวทาง Defensive Programming เพื่อสร้างโปรแกรมที่เชื่อถือได้
นำความรู้ทั้งหมดไปต่อยอดสู่โปรเจกต์ระบบสมองกลฝังตัวจริงได้อย่างมั่นใจ

คอร์สนี้เหมาะสำหรับใคร?

นักเรียนและนักศึกษาสาขาวิศวกรรมไฟฟ้า อิเล็กทรอนิกส์ คอมพิวเตอร์ เมคคาทรอนิกส์ หรือสาขาที่เกี่ยวข้อง
ผู้ที่สนใจเริ่มต้นเรียนรู้การเขียนโปรแกรมสำหรับระบบสมองกลฝังตัว
ผู้ที่เคยเขียนโปรแกรมบนคอมพิวเตอร์มาบ้าง และต้องการต่อยอดสู่งานที่ทำงานร่วมกับฮาร์ดแวร์
ผู้ที่เล่น Arduino, STM32, PIC หรือไมโครคอนโทรลเลอร์อื่น ๆ อยู่แล้ว และอยากเขียนโค้ดให้มีโครงสร้างและเป็นระบบมากขึ้น
ผู้สนใจทั่วไปที่อยากเข้าใจหลักการเบื้องหลังการทำงานของอุปกรณ์อัจฉริยะรอบตัว

ความรู้หรือเครื่องมือพื้นฐานที่จำเป็น

มีพื้นฐานการเขียนโปรแกรมมาบ้าง (ภาษาใดก็ได้ เช่น C, Python, Java) เข้าใจแนวคิดตัวแปร เงื่อนไข และลูป
ไม่จำเป็นต้องมีประสบการณ์ด้านระบบสมองกลฝังตัวมาก่อน เพราะหลักสูตรเริ่มสอนจากพื้นฐาน
มีความเข้าใจวงจรอิเล็กทรอนิกส์ขั้นพื้นฐานจะช่วยให้เรียนได้ราบรื่นขึ้น แต่ไม่บังคับ
มีคอมพิวเตอร์สำหรับติดตั้งเครื่องมือพัฒนา (รายละเอียดการติดตั้งอยู่ใน Module บทนำ)
มีความสนใจและพร้อมลงมือฝึกเขียนโค้ดตามไปด้วยระหว่างเรียน

เนื้อหาในคอร์สเรียน (31 บทเรียน)

Module 1: บทนำ

เข้าใจภาพรวมและขอบเขตเนื้อหาของหลักสูตรทั้งหมด ทราบวัตถุประสงค์และผลลัพธ์การเรียนรู้ที่จะได้รับ สามารถประเมินความรู้พื้นฐานของตนเองและเตรียมความพร้อมก่อนเรียนได้อย่างเหมาะสม รวมถึงสามารถติดตั้งเครื่องมือ ซอฟต์แวร์ และจัดเตรียมอุปกรณ์ที่จำเป็นสำหรับการเรียนตลอดหลักสูตร พร้อมเข้าใจแนวทางการเรียนที่จะช่วยให้ได้ประสิทธิภาพสูงสุด

1.แนะนำหลักสูตรและภาพรวมเนื้อหาทั้งหมด
ตัวอย่างฟรี10 นาที
2.วัตถุประสงค์การเรียนรู้และสิ่งที่ผู้เรียนจะได้รับเมื่อจบหลักสูตร
10 นาที
3.ความรู้พื้นฐานที่ควรมีและการเตรียมความพร้อมก่อนเรียน
10 นาที
4.เครื่องมือ ซอฟต์แวร์ และอุปกรณ์ที่ใช้ในหลักสูตร พร้อมวิธีติดตั้ง
10 นาที
5.แนะนำวิธีการเรียนให้ได้ประสิทธิภาพสูงสุด
10 นาที

Module 2: ความรู้เบื้องต้นเกี่ยวกับระบบสมองกลฝังตัว

เข้าใจความหมายและลักษณะเฉพาะของระบบสมองกลฝังตัว ตลอดจนความแตกต่างจากการเขียนโปรแกรมทั่วไป สามารถอธิบายสถาปัตยกรรมพื้นฐานของไมโครคอนโทรลเลอร์ ทั้งหน่วยประมวลผล หน่วยความจำ และส่วน I/O เข้าใจกระบวนการและเครื่องมือในการพัฒนาโปรแกรมฝังตัว รวมถึงเหตุผลที่ภาษา C เป็นภาษาที่เหมาะสมกับงานประเภทนี้

6.ระบบสมองกลฝังตัวคืออะไร และความแตกต่างจากการเขียนโปรแกรมทั่วไป
10 นาที
7.สถาปัตยกรรมไมโครคอนโทรลเลอร์เบื้องต้น (CPU, Memory, I/O, Registers)
10 นาที
8.เครื่องมือและกระบวนการพัฒนา (Compiler, Cross-compiler, Toolchain, การ Build/Flash)
10 นาที
9.ทำไมต้องใช้ภาษา C กับงานฝังตัว ข้อดีและข้อจำกัด
10 นาที

Module 3: พื้นฐานภาษา C สำหรับงานฝังตัว

สามารถเลือกใช้ชนิดข้อมูลให้เหมาะสมกับข้อจำกัดด้านหน่วยความจำ เข้าใจการใช้คีย์เวิร์ดสำคัญอย่าง const, volatile และ static ในบริบทของงานฝังตัว สามารถใช้ตัวดำเนินการระดับบิตเพื่อควบคุมฮาร์ดแวร์ และเขียนโครงสร้างควบคุมและฟังก์ชันได้อย่างถูกต้องและมีประสิทธิภาพ

10.ชนิดข้อมูล (Data Types) และการเลือกใช้ขนาดที่เหมาะสมกับหน่วยความจำจำกัด
10 นาที
11.ตัวแปร ค่าคงที่ และการใช้ const, volatile, static
10 นาที
12.ตัวดำเนินการ และการจัดการระดับบิต (Bitwise Operations) สำหรับควบคุมฮาร์ดแวร์
10 นาที
13.โครงสร้างควบคุม (Loop, Condition) และฟังก์ชัน
10 นาที

Module 4: การเขียนโปรแกรมเชิงโครงสร้างและการจัดการหน่วยความจำ

เข้าใจและใช้งาน Pointer ในบริบทของงานฝังตัวได้อย่างปลอดภัย สามารถใช้โครงสร้างข้อมูลอย่าง Array, Struct, Union และ Enum เข้าใจหลักการเข้าถึง Register และ Memory-Mapped I/O รวมถึงสามารถจัดระเบียบโปรแกรมเป็นโมดูลด้วย Header File และ Source File เพื่อให้โครงการมีโครงสร้างที่ดีและบำรุงรักษาง่าย

14.Pointer และการใช้งานในงานฝังตัว
10 นาที
15.Array, Struct, Union และ Enumeration
10 นาที
16.การเข้าถึง Register และ Memory-Mapped I/O
10 นาที
17.การแบ่งโปรแกรมเป็นโมดูล (Header File, Source File) และการจัดการโปรเจกต์
10 นาที

Module 5: การควบคุมพอร์ตและขา I/O

สามารถอ่านและเขียนค่าที่ขา Digital I/O เพื่อควบคุมและรับสัญญาณจากอุปกรณ์ภายนอก เข้าใจและประยุกต์ใช้ Port I/O Pattern เพื่อให้การควบคุมขามีโครงสร้างชัดเจน สามารถเขียนโปรแกรมควบคุม LED และอ่านค่าจากสวิตช์ได้จริง รวมถึงจัดการปัญหา Switch Debouncing ได้อย่างเหมาะสม

18.การอ่านและเขียนค่าที่ขา Digital I/O
10 นาที
19.Port I/O Pattern: รูปแบบการออกแบบสำหรับควบคุมขาแบบมีโครงสร้าง
10 นาที
20.ตัวอย่างประยุกต์: การควบคุม LED และอ่านค่าจากสวิตช์
10 นาที
21.การจัดการ Switch Debouncing
10 นาที

Module 6: การจัดการเวลาและสถาปัตยกรรม Time-Triggered

เข้าใจแนวคิดการจัดการเวลาในระบบฝังตัว สามารถเลือกใช้ระหว่าง Software Delay และ Hardware Timer ได้อย่างเหมาะสมตามสถานการณ์ เข้าใจข้อดีและข้อจำกัดของสถาปัตยกรรมแบบ Super Loop และสามารถออกแบบและนำสถาปัตยกรรมแบบ Time-Triggered พร้อม Scheduler เบื้องต้นมาประยุกต์ใช้เพื่อจัดการงานหลายงานได้อย่างเป็นระบบ

22.แนวคิดการจัดการเวลาในระบบฝังตัว (Delay vs Timer)
10 นาที
23.การสร้าง Software Delay และข้อจำกัด
10 นาที
24.การใช้งาน Hardware Timer
10 นาที
25.Time-Triggered Architecture และ Scheduler เบื้องต้น (แนวคิดหลักจากหนังสือของ Pont)
10 นาที
26.สถาปัตยกรรม Super Loop และข้อจำกัด
10 นาที

Module 7: รูปแบบการออกแบบและการประยุกต์ใช้งานจริง

เข้าใจการทำงานของ Interrupt และสามารถเขียน Interrupt Service Routine ได้อย่างปลอดภัย สามารถออกแบบ Scheduler แบบ Cooperative นำแนวทางการเขียนโปรแกรมเชิงป้องกันมาใช้เพื่อเพิ่มความน่าเชื่อถือของระบบ ตลอดจนรู้เทคนิคการดีบักและทดสอบโปรแกรมฝังตัว และสามารถบูรณาการความรู้ทั้งหมดเพื่อออกแบบระบบขนาดเล็กด้วย Time-Triggered Pattern ได้สำเร็จ

27.การออกแบบ Scheduler แบบ Cooperative
10 นาที
28.Interrupt และ Interrupt Service Routine (ISR) เบื้องต้น
10 นาที
29.แนวทางการเขียนโค้ดที่เชื่อถือได้และปลอดภัย (Reliability & Defensive Programming)
10 นาที
30.โปรเจกต์สรุป: การออกแบบระบบขนาดเล็กด้วย Time-Triggered Pattern
10 นาที
31.เทคนิคการดีบักและทดสอบโปรแกรมฝังตัว
10 นาที
ค่าลงทะเบียน
฿599ชำระครั้งเดียวเข้าเรียนได้ตลอดชีพ
  • เข้าเรียนได้ทันทีตลอด 24 ชม.
  • พร้อมซอร์สโค้ดและไฟล์ประกอบการเรียน
  • ปรึกษาคำถาม/ข้อสงสัยกับผู้สอนโดยตรง

ผู้จัดสอน

ML

Machines Labs Team

Maker & Robotics Engineers

ทีมวิศวกรและผู้เชี่ยวชาญด้านฮาร์ดแวร์ เทคโนโลยีหุ่นยนต์ และระบบ IoT ที่มุ่งเน้นการสร้างองค์ความรู้ภาคปฏิบัติเพื่อการใช้งานจริงในอุตสาหกรรมยุคใหม่