การกำหนดค่า PWM Muxing สำหรับบอร์ด Intel® Galileo เจนเนอเรชั่น2

เอกสาร

การติดตั้งและตั้งค่า

000006120

11/10/2017

บอร์ด Intel® Galileo เจนเนอเรชั่น2ใช้ส่วนหัว Arduino มาตรฐาน * เป็นอินพุต/เอาต์พุตแบบอเนกประสงค์ คุณสามารถกำหนดค่าพินเฉพาะให้เป็นข้อมูลอินพุต/เอาต์พุตอเนกประสงค์ (GPIO) หรือการปรับความกว้างของพัลส์ (PWM)

คุณสามารถกำหนดค่า pins 3, 5, 6, 9, 10, และ11เพื่อเอาต์พุตสัญญาณ PWM

Arduino PinLinuxทิศทาง GPIOGPIO MuxGPIO Mux
3๖๔ (สูง)๗๖ (ต่ำ)
5PWM318 (ออก)๖๖ (สูง)-
6PWM520 (ออก)๖๘ (สูง)-
9PWM722 (ออก)๗๐ (สูง)-
10PWM1126 (ออก)๗๔ (สูง)-
PWM116 (ออก)
11PWM924 (ออก)๗๒ (สูง)-
 

ขั้นตอนต่อไปนี้แสดงวิธีการกำหนดค่า Arduino pin 3 เพื่อเอาต์พุตสัญญาณ PWM

  1. พิมพ์คำสั่งต่อไปนี้เพื่อส่งออก GPIOs:
    echo 16 >/sys/class/gpio/export ส่งออก
    echo ๗๖ >/sys/class/gpio/export ส่งออก
    echo ๖๔ >/sys/class/gpio/export ส่งออก

  2. พิมพ์คำสั่งต่อไปนี้เพื่อตั้งค่าทิศทางของ GPIO 16 เป็นเอาต์พุต:
    ก้องออก >/sys/class/gpio/gpio16/direction ทาง

  3. พิมพ์คำสั่งต่อไปนี้เพื่อตั้งค่า muxing GPIO:
    echo 1 >/sys/class/gpio/gpio64/value
    echo 0 >/sys/class/gpio/gpio76/value

  4. พิมพ์คำสั่งต่อไปนี้เพื่อส่งออกและเปิดใช้งาน PWM1:
    echo 1 >/sys/class/pwm\/pwmชิป0/export
    เสียงก้อง 1 >/sys/class/pwm/pwmchip0/pwm1/enable เปิดใช้งาน

  5. พิมพ์คำสั่งต่อไปนี้เพื่อตั้งค่ารอบหน้าที่เป็น๕๐%:
    echo ๒๕๐๐๐๐๐ >/sys/class/pwm/pwmchip0/pwm1/duty_cycle

หมาย เหตุ
  • รอบระยะเวลา PWM คือ๕๐๐๐๐๐๐ตามค่าเริ่มต้น หากต้องการเปลี่ยนแปลงระยะเวลาให้เขียนค่าที่ต้องการเพื่อ pwm_period ในไดเรกทอรีอุปกรณ์0/class/classm/pwm/1/s
  • มีการตั้งค่ารอบระยะเวลาสำหรับช่องสัญญาณ PWM ทั้งหมดไม่ใช่รายบุคคล ช่วงรอบระยะเวลา PWM ตั้งแต่๖๖๖๖๖๖ถึง๔๑๖๖๖๖๖๖ ns