你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
定时器中断HAL库未检查到FLAG
[复制链接]
电子星辰
提问时间:2019-5-13 11:00 /
我的原代码是在定时器中断函数TIM3_IRQHandler中,通过检查if(__HAL_TIM_GET_FLAG(&htim3, TIM_FLAG_CC3) != RESET),来捕获外部PWM。
现在有个奇特的现象,当外部PWM为周期20ms,脉宽大概为1.94ms的时候,上述判断为否(也就是未检测到该通道输入捕获发生)。
但是当我在输入捕获回调函数HAL_TIM_IC_CaptureCallback中,通过下述代码检查就是正常的。
if(htim->Instance == htim3.Instance)
{
if(htim->Channel==HAL_TIM_ACTIVE_CHANNEL_3)
}
复制代码
我想请教一下__HAL_TIM_GET_FLAG 或者 ((__HANDLE__)->Instance->SR &(__FLAG__)) == (__FLAG__) 的原理和具体用法。
赞
0
收藏
0
评论
2
分享
发布时间:2019-5-13 11:00
举报
请先
登录
后回复
2个回答
wagnxb24
回答时间:2019-5-14 15:25:02
a0a.1 32b0c
就是来检测定时器中断某个标志当前是否被置位
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
edmundlee
回答时间:2019-5-14 16:57:05
a0a.1 32b0c
经常有同学认为寄存器难学, 就学库函数。
其实这是非常不靠谱的, 敲代码确实可以用库函数, 但查错你能不看寄存器么? 能不懂寄存器么?
评分
参与人数
1
蝴蝶豆
+1
收起
理由
STMCU
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
评分
查看全部评分
其实这是非常不靠谱的, 敲代码确实可以用库函数, 但查错你能不看寄存器么? 能不懂寄存器么?
评分
查看全部评分