打印
[STM32F1]

请教各位前辈用HAl怎样关闭定时器和清除

[复制链接]
3427|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llljh|  楼主 | 2021-8-8 20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时器已经开启并能用了  用的是比较输出的反转输出  ;但
现在我想用一个按键中断服务函数关掉其
我本来用的是这两个函数 因为在初始化
中用到了相反函数START
{
                HAL_TIM_Base_Stop(&htim1);// 停止定时器
        __HAL_TIM_DISABLE_IT(&htim1, TIM_IT_CC4);//关闭通道4
}
上面注释的是我本意 结果...
// 停止定时器 -----> 不生效
//关闭通道4 ----> 把我其他定时器也关了 并且还是有持续低脉冲输出
还有定时器该怎样清除 外部中断关闭后还有另一个按键继续启动  不能影响下次整个执行,
下次在按键开启后执行又该怎样初始化....

使用特权

评论回复
沙发
jiahy| | 2021-8-8 20:32 | 只看该作者
stop改成Start

使用特权

评论回复
板凳
llljh|  楼主 | 2021-8-8 20:34 | 只看该作者
Start不是开始的意思吗?

使用特权

评论回复
地板
llljh|  楼主 | 2021-8-8 20:36 | 只看该作者
我要停止耶。而且
要影响指定定时器   关闭指定定时器  并清除相关位 接着马上开启定时器   并且是指定定时器和通道  其他定时器继续

使用特权

评论回复
5
jlyuan| | 2021-8-8 20:40 | 只看该作者
我试过,Start可使能定时器,Stop可以失能定时器,但CNT任然在计数

使用特权

评论回复
6
juventus9554| | 2021-8-8 20:42 | 只看该作者
你应该在Stop后读cnt并清零CNT供下次读取。

使用特权

评论回复
7
llljh|  楼主 | 2021-8-8 20:46 | 只看该作者
我现在要用外部中断的内容 去清除掉定时器本来正在运行的内容   怎么才能做得到?

使用特权

评论回复
8
llljh|  楼主 | 2021-8-8 20:49 | 只看该作者
试过了 只是初始化不行 ,还得清除相关位

使用特权

评论回复
9
llljh|  楼主 | 2021-8-8 20:51 | 只看该作者
请前辈 大神们告知下 在HAL中应该怎么办

使用特权

评论回复
10
dengdc| | 2021-8-8 20:54 | 只看该作者
不会吧,我下面的代码百试百灵....你是OC输出?如果是-->HAL_TIM_OC_Stop

            HAL_TIM_Base_Stop_IT(&htim7);
            __HAL_TIM_SET_COUNTER(&htim7,0);

使用特权

评论回复
11
zhanghqi| | 2021-8-8 20:56 | 只看该作者
定时器的启停通过   __HAL_TIM_ENABLE(htim); /__HAL_TIM_DISABLE()控制,最终是操作 TIMx_CR1_CEN位。

使用特权

评论回复
12
zhenykun| | 2021-8-8 21:00 | 只看该作者
定时器关闭了计数器是不会计数的。

使用特权

评论回复
13
jlyuan| | 2021-8-8 21:03 | 只看该作者
而比较通道的关闭,需通过TIM_CCxChannelCmd( )来控制,最终是操作TIMXx_CCER_CCxE位。

使用特权

评论回复
14
jlyuan| | 2021-8-8 21:06 | 只看该作者
这里的函数基于stm32cube库,你弄清操作哪些就好

使用特权

评论回复
15
llljh|  楼主 | 2021-8-8 21:08 | 只看该作者
他好像给我其他定时器也关掉了

使用特权

评论回复
16
llljh|  楼主 | 2021-8-8 21:11 | 只看该作者
停止方法找到了  但是中断结束后他好像还继续执行定时器中断服务函数  怎样把他清除掉

使用特权

评论回复
17
llljh|  楼主 | 2021-8-8 21:14 | 只看该作者
我现在主要想清除定时器那边在运行的程序  定时器中断服务中有很多程序

使用特权

评论回复
18
llljh|  楼主 | 2021-8-8 21:16 | 只看该作者
我想用外部中断清除掉  再马上重新打开定时器

使用特权

评论回复
19
llljh|  楼主 | 2021-8-8 21:25 | 只看该作者
Start不是开始的意思吗  另外我在中断中还把定时器初始化加进去也没用

使用特权

评论回复
20
renyaq| | 2021-8-8 21:25 | 只看该作者
那具体代码该怎样实现呢   hal不懂 且没中文手册  词典翻译的关键词几乎一个意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝