你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL库关于定时器捕获中断的问题

[复制链接]
安静ing 提问时间:2018-5-18 11:23 /
我定时器设了1us分频时间

然后使能CC1中断
        __HAL_TIM_SetCompare(&Tim3Handle,TIM_CHANNEL_1, cnt_tar);              /* 设置捕获比较计数器CC1 */
        __HAL_TIM_CLEAR_IT(&Tim3Handle, TIM_IT_CC1);
        __HAL_TIM_ENABLE_IT(&Tim3Handle, TIM_IT_CC1);                        /* 使能CC1中断 */

时间到进入CC1中断
    if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) !=RESET)
    {
        __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1);
        __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
        s_TIM_CallBack1(1);
    }

论__HAL_TIM_SetCompare 也就是CCR1的值设多少 到中断的时间始终是1us  求解是怎么回事啊

收藏 评论7 发布时间:2018-5-18 11:23

举报

7个回答
toofree 回答时间:2018-5-18 12:01:50
本帖最后由 toofree 于 2018-5-18 12:03 编辑

你用的哪种捕获?不知道你想说个什么?
从你发的那一点点程序什么也看不出来,要发就发工程。
如果是类似PWM输出捕获,占空比不变的情况下,两次次捕获的间隔时间肯定是固定值。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

安静ing 回答时间:2018-5-18 12:26:37
toofree 发表于 2018-5-18 12:01
你用的哪种捕获?不知道你想说个什么?
从你发的那一点点程序什么也看不出来,要发就发工程。
如果是类似PW ...

定时器是一直在跑 通过设置捕获比较中断 可以实现多任务定时
toofree 回答时间:2018-5-18 14:13:27
安静ing 发表于 2018-5-18 12:26
定时器是一直在跑 通过设置捕获比较中断 可以实现多任务定时

那出现固定1us就是正常现象呀。你这个就是类似PWM输出方式。打个比方,假如PWM周期是1000个时钟,CCR1设置为500,这时候当计数器在0到499的时候输出PWM输出1;当达到500时会产生中断,PWM输出转为0,直到999,之后再输出转为1。
安静ing 回答时间:2018-5-19 02:00:41
toofree 发表于 2018-5-18 14:13
那出现固定1us就是正常现象呀。你这个就是类似PWM输出方式。打个比方,假如PWM周期是1000个时钟,CCR1设 ...

设比较值前我是先读取计数值在加上我的比较值给CCR 照理应该是到比较值时中断 结果只经过1个计数值就中断了
我用标准库时好好的换成HAL库就这样了
feixiang20 回答时间:2018-5-19 02:02:09
被独立被配置的值,从而各自产生中断,实现不同时间间隔的定时器中断,1us正常

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

安静ing 回答时间:2018-5-19 02:08:10
feixiang20 发表于 2018-5-19 02:02
被独立被配置的值,从而各自产生中断,实现不同时间间隔的定时器中断,1us正常 ...

经过1个计数值就中断了 也就是说 打开中断后就进中断了 怎么就正常了
安静ing 回答时间:2018-5-19 02:31:42
开启CC1IE前我已经清了CC1IF 但CC1IF还是直接变为1

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版