STM32F0怎么实现30s左右的延时

2019-07-21 03:00发布

想用STM32F0的板子做个人体感应的灯,感应到人体离开之后一段时间灯才灭,大概10-30s但是自己写的程序只能延时1-2s。不知道怎么延长时间,有没有大佬能指点一下的。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
peng1554
1楼-- · 2019-07-21 08:15
可以用定时器做(1s一次更新中断),定义一个全局变量,在定时器的更新中断中让全局变量自加。自加到10的时候表示延时,然后再外部判断全局变量是否为10以达到是否延时10s
还有一种方法参考
http://www.openedv.com/forum.php?mod=viewthread&tid=275994
沐白墨
2楼-- · 2019-07-21 13:03
peng1554 发表于 2019-4-4 17:28
可以用定时器做(1s一次更新中断),定义一个全局变量,在定时器的更新中断中让全局变量自加。自加到10的时 ...

写完函数调用在灯光控制前面,被控制的灯会出现降低亮度并闪烁的情况,就和之前的延时函数超时一样的反应。求问答主怎么解决。
沐白墨
3楼-- · 2019-07-21 13:24
 精彩回答 2  元偷偷看……
peng1554
4楼-- · 2019-07-21 15:16
沐白墨 发表于 2019-4-8 15:05
对了我的不是开发板,就是芯片自己焊接的电路,外接了一个8m的晶振。

也能参考使用,只要你那边的延时函数没问题
otto1230
5楼-- · 2019-07-21 15:58
 精彩回答 2  元偷偷看……
1599064432
6楼-- · 2019-07-21 21:13
otto1230 发表于 2019-4-11 10:04
我觉得最简单的解决办法是:
void delay_100ms(__IO u16 nms)
{

延时不了那么久

一周热门 更多>