打印
[技术问答]

PWM可以IO模拟吗

[复制链接]
750|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小明的同学|  楼主 | 2019-12-22 21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我看并不是每个IO都支持PWM,如果实现简单的无极调光控制需要多路的PWM,那么可以IO模拟吗,有人这么做过吗

使用特权

评论回复
评论
小明的同学 2019-12-23 23:11 回复TA
https://bbs.21ic.com/icview-2891344-1-1.html 问题已经解决。 
沙发
小明的同学|  楼主 | 2019-12-22 21:46 | 只看该作者
可不可以这样用定时器中断,里面弄个计数器,中断周期是可调的最小单位。在中断周期判断是否输出高低电平。或者是否有占空比更新。

使用特权

评论回复
板凳
zhuomuniao110| | 2019-12-22 23:30 | 只看该作者
可以,但是可调的灵活性没有PWM硬件的好

使用特权

评论回复
地板
zhuomuniao110| | 2019-12-22 23:30 | 只看该作者
另外还会占用宝贵的定时器。

使用特权

评论回复
5
tianxj01| | 2019-12-23 09:07 | 只看该作者
当然可以,缺点是占用较多资源,同时频率还不能上得太高。

使用特权

评论回复
6
小明的同学|  楼主 | 2019-12-23 10:45 | 只看该作者
jasontu 发表于 2019-12-23 08:14
看需求,如果只有需要简单的定时输出,可以用gpio + timer作。
但有其它的事件需要处理的情况下,软件的pwm ...

嗯,有道理,可能会被其他中断打断,除非就弄一个这种功能,如果只搞这一个功能,应该不会被打断吧。如果有其他中断百分百后有被打断闪一下的现象。

使用特权

评论回复
7
小明的同学|  楼主 | 2019-12-23 10:46 | 只看该作者
tianxj01 发表于 2019-12-23 09:07
当然可以,缺点是占用较多资源,同时频率还不能上得太高。

嗯,准备试试看,看看多大的频率肉眼看不出来。

使用特权

评论回复
8
wh6ic| | 2019-12-23 14:02 | 只看该作者
很多LED灯的PWM频率只有几百赫兹,以前的LCD显示器,护眼显示模式,刷新频率也不过80Hz,完全可以这样做。人眼的视觉暂留是 十~二十 毫秒左右。

使用特权

评论回复
9
小明的同学|  楼主 | 2019-12-23 21:43 | 只看该作者
wh6ic 发表于 2019-12-23 14:02
很多LED灯的PWM频率只有几百赫兹,以前的LCD显示器,护眼显示模式,刷新频率也不过80Hz,完全可以这样做。 ...

你说的非常对。

使用特权

评论回复
10
小明的同学|  楼主 | 2019-12-23 23:11 | 只看该作者
https://bbs.21ic.com/icview-2891344-1-1.html
经过测试非常完美。

使用特权

评论回复
11
小明的同学|  楼主 | 2019-12-23 23:12 | 只看该作者
zhuomuniao110 发表于 2019-12-22 23:30
另外还会占用宝贵的定时器。

试过了,很好。

使用特权

评论回复
12
小明的同学|  楼主 | 2019-12-23 23:12 | 只看该作者
jasontu 发表于 2019-12-23 08:14
看需求,如果只有需要简单的定时输出,可以用gpio + timer作。
但有其它的事件需要处理的情况下,软件的pwm ...

https://bbs.21ic.com/icview-2891344-1-1.html
试过了,很好,哈哈,可以的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

135

主题

1425

帖子

2

粉丝