本文主要是介绍全志老版本源码增加PWM输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 开发板使用飞凌嵌入式A40i,测试发现老版本不支持PWM,和技术售后沟通后,使用新版本测试,发现支持。
2 对比新老版本的内核,发现linux驱动程序里面有增加了一个驱动文件sysfs.c,默认内核默认配置文件里面通过CONFIG_PWM_SYSFS=y,开启编译文件。
3 按照新版本内核修改core.c和pwm-sunxi-new.c文件,其中编译时会提示报错 PWMF_EXPORTED这个没有定义,按照新版本内核里include/linux、pwm.h文件内容对应修改。
4 再次编译通过后。输入测试指令后能正确输出pwm波形。
5 测试指令
echo 2 >/sys/class/pwm/pwmchip0/export
echo 1000000 > /sys/class/pwm/pwmchip0/pwm2/period
echo 500000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle
echo 1 > /sys/class/pwm/pwmchip0/pwm2/enable
测量得到频率为1K方波 ,注意的是设置时候频率值不能小于占空比值。还有设置后不支持中途修改,修改后好像也没有生效。
源码https://download.csdn.net/download/u011558786/15558430
pwm添加方法https://download.csdn.net/download/u011558786/15558292
这篇关于全志老版本源码增加PWM输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!