完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
因为一个项目,需要测量一个外界一个频率变化的PWM波形的频率(这个波形低电平为0V左右,高电平可调到3.3V左右).
我想了两个方案(本人菜鸟,望高人不要见笑,并希望能指点一下) 方案A:用定时器. 思路:直接把信号号接到定时器b的一个通道的IO上,用定时器a时定s秒,同时用定时器b的输入捕获模式,设置对PWM波形的上升沿或者下降沿中断,定时器b每中断一次,中断次数n自+1,然后到定时器a定时到s秒后,用串口输入这个时间内的中断次数,达到计算PWM信号频率的目的.(程序一直没有调出来.....所以后来用的方案B) 方案B:用外部中断 思路:因为任何一个STM32F103的普通GPIO都可以用来进行外部断检测,所以想到它了. 思路还是和方案A差不多,用定时器a定时s秒,用的是一个GPIO进行外部中断,上升沿触发中断,记录此时外部中断的次数.我直接把外部PWM信号加在了一个普通IO口上.但是有的时候发现检测到的脉冲数不太对,会比实际的多.我知道用外部中断,这样直接加在IO口上有很大的干扰,但是又不知道如何在电路上处理一下. 希望有知道的大侠能指点我一下,谢谢了 |
|
相关推荐
3个回答
|
|
不会 我也 是才学
|
|
|
|
|
|
|
|
应该在加一个计算PWM的占空比(或者计算PWM在高电平期间的脉宽长度与低电平期间的脉宽长度),在一秒内有多少个这样的脉宽,而不是直接有一个上升沿就进行计数。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
881 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
895 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8670 浏览 1 评论
3394 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1379 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 08:26 , Processed in 0.818820 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191