电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
关于基本定时器的PWM输出完成中断问题
已解决
73482
个问题
已帮助
5993
位优秀工程师
关于基本定时器的PWM输出完成中断问题
做平常心
2018-10-25
浏览量:1461
问题如下,我用TIM4的定时器输出176KHz的PWM脉冲,在HAL_TIM_PWM_PulseFinishedCallback中断回调中计数脉冲数,达到一定数量停止输出,但是结果是输出的脉冲数远多于定义的数量才停止,是怎么回事,把频率降低到40KHz左右就不会!
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
我对面的武器
计数的函数是在哪里调用的,是不是main函数中,main函数中是不是还有其他的程序在运行呢
这样检测计算的函数的调用并不是实时的,会有丢的情况的,
最好是使用中断的方式进行计数的。
发布于
2018-11-20
举报
评论 0
0
0
其他答案
数量:
5
54ea50ccacaf4d2e
你应该在中断里面判断脉冲数量,否则很有可能程序还在跑,导致脉冲计数出现问题
发布于
2018-10-25
举报
评论 0
0
0
yhj416606438
最好用中断自动停止,因为中断就是你发指令停止需要时间,这个时候脉冲会多出来
发布于
2018-10-25
举报
评论 0
0
0
donatello
你PWM输出频率太高,高于检测中断响应和清零的时间,那当然就会造成数据的误差了,所以降低频率就能避免这个误差。
发布于
2018-10-28
举报
评论 0
0
0
chen0000009
中断回调需要消耗一定的时间,在这段时间里面,又输出了几个脉冲,但实际上你只计数了一次
发布于
2018-10-29
举报
评论 0
0
0
菜鸟冷虎
主要是你的定时器中的中断次数太频繁,导致你的程序不能及时响应
发布于
2018-11-23
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
关于基本定时器的PWM输出完成中断问题
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: