Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


Sidebar

products:sbc:common:applications:gpio:pwm

This is an old revision of the document!


PWM

Introduction

This document mainly describes hardware PWM. You will learn how to control the hardware PWM on the 40-Pin Header to output a square wave.

Enable PWM

VIM1/3/3L/4

PWM_F:

$ echo 1 | sudo tee /sys/class/pwm/pwmchip4/export
$ echo 1000000 | sudo tee /sys/class/pwm/pwmchip4/pwm1/period
$ echo 500000 | sudo tee /sys/class/pwm/pwmchip4/pwm1/duty_cycle
$ echo 1 | sudo tee /sys/class/pwm/pwmchip4/pwm1/enable

VIM2

PWM_D:

$ echo 1 | sudo tee /sys/class/pwm/pwmchip1/export
$ echo 1000000 | sudo tee /sys/class/pwm/pwmchip1/pwm1/period
$ echo 500000 | sudo tee /sys/class/pwm/pwmchip1/pwm1/duty_cycle
$ echo 1 | sudo tee /sys/class/pwm/pwmchip1/pwm1/enable

Use an oscilloscope to check if the pins have been successfully enabled.

pwm-oscilloscope

If you use an oscilloscope to view the PWM waveform, remember that the SBC and the oscilloscope need to share the same GND (ground).

Disable PWM

VIM1/3/3L/4

$ echo 0 | sudo tee /sys/class/pwm/pwmchip4/pwm1/enable

VIM2

$ echo 0 | sudo tee /sys/class/pwm/pwmchip1/pwm1/enable
Last modified: 2022/07/05 08:18 by frank