野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10143|回复: 2

请教一下,能否用查询定时器标志位的方法来控制led灯的闪烁。

[复制链接]
发表于 2019-9-9 19:37:40 | 显示全部楼层 |阅读模式
初学者在做定时器led闪烁试验,想知道能不能用查询标志位的办法来控制led灯。
{ LED_GPIO_Config();
        TIM6_Config();
   while(1)
        { TIM_ClearFlag(TIM6,TIM_FLAG_Update);
                GPIO_ResetBits(GPIOD,GPIO_Pin_2);       
                while(TIM_GetFlagStatus(TIM6,TIM_FLAG_Update)==SET);
                TIM_ClearFlag(TIM6,TIM_FLAG_Update);
                GPIO_SetBits(GPIOD,GPIO_Pin_2);
    while(TIM_GetFlagStatus(TIM6,TIM_FLAG_Update)==SET);
        }
}

这是主程序,其他的参数都配置好了。
想到一个问题,当我复位TIM_FLAG_Update这个标志位时,定时器是不是仍在重复计数,还是怎么了,如果我把它复位了,是不是等他再置位的时候就可以用了。
因为这个主程序最后卡在while那里就不动了,本菜鸟也弄不明白,不知道有没有大佬能够给小弟一点点拨。谢谢。
回复

使用道具 举报

发表于 2019-9-10 10:37:24 | 显示全部楼层
会继续计数,确认一下有没有启动好定时器
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-10 15:10:39 | 显示全部楼层
WishWish 发表于 2019-9-10 10:37
会继续计数,确认一下有没有启动好定时器

是的,昨天后来又研究了一下确实在继续计数,但是难道要重新初始化TIM结构体,还是要操作哪一位的寄存器啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-12 13:37 , Processed in 0.028396 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表