lab110

Paragraph:

โค้ดนี้ใช้ไมโครคอนโทรลเลอร์ Cypress เพื่อควบคุม PWM (Pulse Width Modulation) ที่ช่วยในการควบคุมความสว่างหรือสัญญาณไฟฟ้าที่เปลี่ยนแปลงได้. การใช้ Peripheral Driver Library (PDL) และ Board Support Package (BSP) ของ Cypress ช่วยในการเข้าถึงและควบคุม peripheral และบอร์ดที่เชื่อมต่อ. โปรแกรมเริ่มต้นการทำงานของ peripheral และบอร์ด, และหากมีข้อผิดพลาดในกระบวนการนี้, โปรแกรมจะหยุดทำงาน.

จากนั้น, โปรแกรมทำการเรียกใช้ฟังก์ชันเพื่อเริ่มต้น PWM และตั้งค่าเริ่มต้น. ในลูปหลัก, มีการกำหนด duty cycle และหน่วงเวลาเพื่อควบคุมการเปลี่ยนแปลงของ PWM ซึ่งสามารถนำไปใช้ในการควบคุมความสว่างของ LED หรือการควบคุมความเร็วของมอเตอร์ได้.

ตัวแปร result เก็บผลลัพธ์จากการเรียกใช้ฟังก์ชัน cybsp_init() ซึ่งเป็นขั้นตอนเริ่มต้นของ BSP. และ PWM_config ใช้กำหนดค่าการทำงานของ PWM ที่กำหนดในตอนแรกของโปรแกรม.

 

lab109

โปรแกรมนี้ใช้ไมโครคอนโทรลเลอร์ Cypress เพื่อควบคุม PWM (Pulse Width Modulation) ซึ่งมีหน้าที่เปลี่ยนแปลงความสว่างหรือสัญญาณไฟฟ้าที่เปลี่ยนแปลงได้บน pin CYBSP_USER_LED5. โปรแกรมเริ่มต้นการทำงานของ peripheral และบอร์ด, และถ้ามีข้อผิดพลาด, โปรแกรมจะใช้ CY_ASSERT() เพื่อหยุดการทำงาน.

หลังจากนั้น, โปรแกรมทำการเรียกใช้ฟังก์ชันเพื่อเริ่มต้น PWM บน pin CYBSP_USER_LED5 และกำหนดค่า clock ใหม่. จากนั้น, โปรแกรมเริ่ม PWM output และในลูปหลักมีการตั้งค่า duty cycle ของ PWM ให้เปลี่ยนแปลงตั้งแต่ 100% ถึง 10000% โดยใช้ฟังก์ชัน cyhal_pwm_set_duty_cycle() และหน่วงเวลา 100 มิลลิวินาทีระหว่างการเปลี่ยนแปลง.

  • result: เป็นตัวแปรที่ใช้เก็บผลลัพธ์จากการเรียกใช้ฟังก์ชัน โดยใช้ในการตรวจสอบว่าการเริ่มต้น Board Support Package (BSP) และ PWM สำเร็จหรือไม่ ถ้าไม่สำเร็จโปรแกรมจะใช้ CY_ASSERT() เพื่อหยุดการทำงาน.

  • pwm_obj: เป็นตัวแปรชนิด cyhal_pwm_t ที่ใช้เก็บข้อมูลเกี่ยวกับ PWM, เช่น การตั้งค่า, การเริ่มต้น, และการควบคุม.

  • i: เป็นตัวแปรในลูปภายในที่ใช้ในการเปลี่ยนแปลงค่า duty cycle ของ PWM จาก 100% ถึง 10000%.

โปรแกรมนี้มีการใช้ตัวแปรเพื่อเก็บข้อมูลและใช้ในการควบคุมและตรวจสอบสถานะของ PWM และการเปลี่ยนแปลงค่า duty cycle ของมัน.

 

lab108

โปรแกรมนี้เป็นโปรแกรมที่ใช้ไมโครคอนโทรลเลอร์ Cypress PSoC 6 เพื่อทำการแปลงสัญญาณ Analog-to-Digital (ADC) จากช่อง ADC ที่เลือกไว้และส่งผลลัพธ์นั้นผ่านทาง UART สำหรับการทำ Debugging. โปรแกรมจะทำการเริ่มต้น Board Support Package (BSP) และกำหนดค่าต่าง ๆ สำหรับการใช้งาน, เช่น การตั้งค่าและเริ่มต้น UART, AREF (Analog Reference), และ ADC. จากนั้นโปรแกรมจะทำการทำงานในลูปไม่สิ้นสุด โดยทำการเริ่มต้นการแปลง ADC แบบ single-shot และหลังจากนั้นทำการตรวจสอบว่าการแปลงเสร็จสมบูรณ์หรือไม่ ถ้าเสร็จสมบูรณ์ จะทำการอ่านค่า ADC และคำนวณค่าแรงดันจากค่า ADC นั้น ๆ และส่งผลลัพธ์ทั้งหมดผ่านทาง UART.

ตัวแปรที่สำคัญ:

  • UART_context: ตัวแปรสำหรับเก็บข้อมูลสถานะของ UART.
  • result: ตัวแปรสำหรับเก็บผลลัพธ์จากฟังก์ชันการเริ่มต้น BSP.
  • UART_HW: ตัวแปรที่ระบุ UART hardware ที่ใช้สื่อสาร.
  • AREF_config และ ADC_config: ตัวแปรสำหรับเก็บการตั้งค่าและกำหนดค่าของ AREF และ ADC.
  • ADCresult และ mVolts: ตัวแปรสำหรับเก็บผลลัพธ์จากการแปลง Analog-to-Digital และค่าแรงดันที่แปลงมาจาก ADC.

 

deck

By daisy053

deck

  • 90