STM32 如何实现1HZ频率 1us脉宽 PWM

2019-08-17 09:49发布

STM32 如何实现1HZ频率 1us脉宽可调   PWM
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
K.O.Carnivist
1楼-- · 2019-08-20 01:54
wszdxmh 发表于 2016-7-20 14:57
写的时候没想到这个问题。你后面问了我才想起来。你想用STM32实现基本上是没戏了。用其他芯片吧。GPIO外 ...

8楼说的定时器级联可以做的啊
wszdxmh
2楼-- · 2019-08-20 02:00
K.O.Carnivist 发表于 2016-7-20 15:42
8楼说的定时器级联可以做的啊

IO口最快频率50MHz,也就是翻转电平最快要2us。你级联定时器还能把GPIO的响应速度提高?求教
K.O.Carnivist
3楼-- · 2019-08-20 04:32
 精彩回答 2  元偷偷看……
wszdxmh
4楼-- · 2019-08-20 05:09
K.O.Carnivist 发表于 2016-7-21 05:34
50MHz是20ns……

关于定时器中断里翻IO,我倒是觉得既然楼主的协议需要1us的宽度,有理由认为周期抖动 ...

算少一个0 .......
1us一个中断为什么不行?他也是用了一个1us的,计数到1s不行?为什么还要用一个1s的?
K.O.Carnivist
5楼-- · 2019-08-20 07:55
wszdxmh 发表于 2016-7-21 09:14
算少一个0 .......
1us一个中断为什么不行?他也是用了一个1us的,计数到1s不行?为什么还要用一个1s的 ...

F1单片机1us只有几十个系统周期,进出一次中断什么都不干就耗掉二十几个周期,代价太大了。

实际上可以设置定时器步长1us,周期1000us进一次中断,然后按您上面的写法每1000次中断开启一次PWM输出(脉宽1us),下一次进中断再关闭PWM输出,这样一个定时器就够了。
缺点是进中断还是挺频繁的、不能出现被其他中断卡住进不去的情况。
wszdxmh
6楼-- · 2019-08-20 10:50
K.O.Carnivist 发表于 2016-7-21 10:50
F1单片机1us只有几十个系统周期,进出一次中断什么都不干就耗掉二十几个周期,代价太大了。

实际上可 ...

还是没理解,要达到要求1us可调,怎么样也要有一个定时器能1us进一次中断吧,那干嘛还要多开一个定时器?

一周热门 更多>