OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5093|回复: 3

Linux 操作系统下PWM实时调频功能

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-10-30
在线时间
4 小时
发表于 2021-1-7 10:53:23 | 显示全部楼层 |阅读模式
有哪位大神在嵌入式linux操作系统实现PWM模块实时调频得功能???求解,不胜感激!间隔10ms频率变换一次,失败了。如何破解该难点。驱动也看了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-9-12
在线时间
11 小时
发表于 2021-1-13 12:25:11 | 显示全部楼层
也是新人,刚刚用过 mini 板子上 20kHz 的 PWM,就是原子的板子加原始的code,只要 GPIO MUX 设定正确。板子启动的时候在 rc.local 里运行下面的指令就可以了
echo 0 > /sys/class/pwm/pwmchip5/export
echo 1 > /sys/class/pwm/pwmchip5/pwm0/enable
echo 50000 > /sys/class/pwm/pwmchip5/pwm0/period
echo 25000 > /sys/class/pwm/pwmchip5/pwm0/duty_cycle
回复 支持 反对

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2021-1-15 16:28:52 | 显示全部楼层
自己另外写个驱动直接在驱动级操作吧,开个10ms定时器中断,直接操作pwm寄存器或pwm_device设备。
用/sys接口太慢了,而且用户态进程轮转周期就10ms了,定时精度根本不行
坚决不用寄存器,拒绝重复造轮子。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-10-30
在线时间
4 小时
 楼主| 发表于 2021-1-21 08:59:18 | 显示全部楼层
xkwy 发表于 2021-1-15 16:28
自己另外写个驱动直接在驱动级操作吧,开个10ms定时器中断,直接操作pwm寄存器或pwm_device设备。
用/sys ...

感谢指教,主要是对Linux驱动不熟悉,想请问是不是不要用现在Linux的PWM子系统,而是自己去重新写个PWM控制驱动?但是我调用还是要用应用程序来操作驱动的,因为频率是不定的,且时间变换也是不定的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 22:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表