Hello World
Lab 1: Hello World - ทำความเข้าใจโปรเจกต์ & LED Blink
วัตถุประสงค์
เข้าใจโครงสร้างโปรเจกต์ ModusToolBox (MTB)
เข้าใจ flow ของ
main()ใน Embedded systemควบคุม LED Blink ด้วย macro
จะได้เรียนรู้อะไร?
Project Structure: proj_cm33_s, proj_cm33_ns, proj_cm55
GPIO API: Cy_GPIO_Set(), Cy_GPIO_Clr(), Cy_GPIO_Inv()
Delay Function: Cy_SysLib_Delay()
Macro Definition: สร้าง LED control macros
Lab 1.1 : Hello World & LED Blink
ทำความเข้าใจโค้ด main.c
โค้ด main() ในตัวอย่าง Infineon จะมี pattern คงที่:
Initialize board และ peripherals
Enable global interrupt
Initialize UART สำหรับ debug (
printf)เข้า main loop ที่รันตลอดเวลา
แผนภาพการทำงาน

LED Blink ด้วย Macro
กำหนด delay ของ LED ด้วย macro
และใน main loop:
ทดลองสร้าง LED API (Best Practice)
โดยการเพิ่ม macro เพื่อให้โค้ดอ่านง่ายขึ้น:
แล้วเปลี่ยนใน loop เป็น:
Build และ Flash
Lab 1.2 : ทดลอง LED Blinking Patterns
Build และ Flash
GPIO Functions (PDL) Summary
Cy_GPIO_Set(port, pin)
Set pin HIGH
Cy_GPIO_Clr(port, pin)
Set pin LOW
Cy_GPIO_Inv(port, pin)
Toggle pin
Cy_GPIO_Read(port, pin)
Read pin (0 or 1)
Cy_GPIO_Write(port, pin, val)
Write 0 or 1
Hardware Info
User LED1
CYBSP_USER_LED1
Active HIGH
User LED2
CYBSP_USER_LED2
Active HIGH
✍️ Exercise:
Double Blink : สร้าง pattern ที่ LED กระพริบ 2 ครั้งเร็วๆ แล้วหยุดนาน
Heartbeat : สร้าง pattern เหมือนหัวใจเต้น (สั้น-ยาว-หยุด)
Last updated