[STM32F1] HAL外部中断后 怎样清除定时器中残留的值

[复制链接]
3049|33
 楼主| xxmmi 发表于 2021-9-11 19:19 | 显示全部楼层 |阅读模式
外部中断打断了定时器 但因为定时器还要用 ,得马上打开。这时候定时器中的函数还没运行完 ,又得接着回去运行。想问下怎样终结上次运行的定时器中断服务函数的值,以及初始化其残留值
heweibig 发表于 2021-9-11 19:21 | 显示全部楼层
回去接着运行,应该不影响吧,这个外部中断结束后,那边就接着走了。
zwll 发表于 2021-9-11 19:22 | 显示全部楼层
还有就是定时器的运行不受其他中断影响,它会一直计数的。
xxrs 发表于 2021-9-11 19:24 | 显示全部楼层
中断里可以不关闭定时器么
 楼主| xxmmi 发表于 2021-9-11 19:27 | 显示全部楼层
我就是要影响定时器   关闭指定定时器  并清除相关位 接着马上开启定时器   并且是指定定时器和通道  其他定时器继续
 楼主| xxmmi 发表于 2021-9-11 19:29 | 显示全部楼层
HAL_TIM_Base_Stop_IT(&htim7);
__HAL_TIM_SET_COUNTER(&htim7,0);
HAL_TIM_Base_Start_IT(&htim7);
 楼主| xxmmi 发表于 2021-9-11 19:36 | 显示全部楼层

我要中断中停止指定定时器工作  并相应位清零  
即  我要影响定时器   关闭 指定 定时器  并清除相关位 接着马上开启定时器   并且是指定定时器和通道  其他定时器继续
午夜粪车 发表于 2021-9-11 19:37 | 显示全部楼层

外部中断并没有打断定时器,外设的运行各自不受影响。
平时怎么设置定时器,外部中断的服务函数中也就可以怎么设置。
 楼主| xxmmi 发表于 2021-9-11 19:39 | 显示全部楼层
这个我知道  但是我现在要用外部中断的内容 去清除掉定时器本来正在运行的内容   怎么才能做得到?试过了 只是初始化不行 ,还得清除相关位
jiahy 发表于 2021-9-11 19:41 | 显示全部楼层
那你就在外部中断处理函数里执行停止清除吧。
 楼主| xxmmi 发表于 2021-9-11 19:43 | 显示全部楼层
那在HAL中具体代码呢  主要就是不清楚HAL函数啊
jiajs 发表于 2021-9-11 19:46 | 显示全部楼层
需要清除什么残留值啊
zhaoxqi 发表于 2021-9-11 19:47 | 显示全部楼层
不清楚这个啊
heweibig 发表于 2021-9-11 19:50 | 显示全部楼层
说明你的中断服务程序太大了
xxrs 发表于 2021-9-11 19:52 | 显示全部楼层
那个重新配置就可以吧
zhaoxqi 发表于 2021-9-11 19:54 | 显示全部楼层
直接清零就行啊 在说也不用手动清除啊
zhaoxqi 发表于 2021-9-11 20:00 | 显示全部楼层
说明你这个是中断嵌套啊
jlyuan 发表于 2021-9-11 20:02 | 显示全部楼层
你这个流程处理的不好
 楼主| xxmmi 发表于 2021-9-11 20:04 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家
tpgf 发表于 2021-10-7 17:20 | 显示全部楼层
可以直接手动清零吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

369

主题

4278

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部
0