您好、论坛、
我正在尝试弄清楚 Linux 如何将 eHRPWM 通道映射到 sysfs 接口、可通过/sys/class/pwm.进行访问 我为每个 PWM 启用了 A 和 B 引脚、并将&ehrpwm0到&ehrpwm5的状态设置为"正常"。 当 Linux 启动时、我可以在 CD /sys/class/pwm 之后看到以下内容:
# pwd /sys/class/pwm # ls pwmchip0 pwmchip1 pwmchip11 pwmchip3 pwmchip5 pwmchip7 pwmchip9 # cd pwmchip0 # ls 器件 导出 npwm 电源 子系统 uevent 取消导出 # ls 设备 驱动程序 MODALIAS 电源 子系统驱动程序_override of _node PWM uevent # cat device/modalias of:npwmT cTI、am654-ecapCTi、am3352-ecap # cd. # cat pwmchip1/device/modalias of:npwmT cTI、am654-ehrpwmCti、am3352-ehrpwm # cat pwmchip3/器件/调制别名 :NpwmT cTI、am654-ehrpwmCti、am3352-ehrpwm # cat pwmchip5/器件/调制别名 :NpwmT cTI、am654-ehrpwmCti、am3352-ehrpwm # cat pwmchip7/device/modalias of:npwmT cTI、am654-ehrpwmCti、am3352-ehrpwm # cat pwmchip9/device/modalias of:npwmT cTI、am654-ehrpwmCti、am3352-ehrpwm
通过这个、我可以计算出 pwmchip0由 eCAP 控制、而 pwmchip1、3、5、7、 9是 eHRPWM。
如何确定哪个 pwmchipX 连接到 eHRPWM0、1、2、3、4、 和5?
此外、有人能否举例说明如何为 eHRPWM 创建两个 PWM 通道、设置占空比和周期、然后启用 PWM?
我认为它类似于:
#这是哪个 eHRPWM? cd /sys/class/pwm/pwmchipX #创建 pwm0和 pwm1 echo 0 >导出 echo 1 >导出 #设置 pwm0 cd pwm0 # Duty_cycle 和 period 的单位是什么??? echo NNN > Duty_cycle echo MMM > period # set active high polarity echo 1 > polarity # Turn on the PWM echo 1 > enable
这是正确的方法吗? 如果是、则 Duty_cycle 和 period 的允许值是多少?
非常感谢您的帮助-对此必须有一个简单的答案!
Scott