跑马灯里delay_ms(500)括号里面的500指的的是灯亮500ms吗

2019-07-21 06:36发布

GPIO_SetBits(GPIOB,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
delay_ms(500);

这段程序里,500指的是灯亮的时间为500ms吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zwwstar
1楼-- · 2019-07-22 02:57
你好,我是小白,第一次来stm32论坛,针对你这个问题,个人觉得有3个方法可以试验:
1、理解delay_ms(X)这个函数,看是不是x为1,就是延时1ms,如果这样那就是500ms;
2、使用软件调试,设置断点,单独看这个delay函数的运行时间是否为500ms;
3、你把500改成1000,然后带着LED灯实际看是不是间隔1s闪烁。
另外问1句,这个delay函数语句是不是要放到第二行,给个初始值,然后delay和初始值反向进行无限循环才是闪烁呀:比如亮,然后开始循环:持续1s,灭,再持续1s,如此循环。
jingjing1
2楼-- · 2019-07-22 06:25
zwwstar 发表于 2018-12-18 17:44
你好,我是小白,第一次来stm32论坛,针对你这个问题,个人觉得有3个方法可以试验:
1、理解delay_ms(X) ...

1、delay这个函数应该是(x)x如果为1 那就是延时1ms
2、但是我实际中,led灯亮的时间和我设置的时间是不一样的,我设置了x=10000,那样的话应该是灯亮10s,但是实际中灯就是闪一下,所以这个问题就不知道怎么来解决了
3、这几句只是部分的程序,后面还有一些程序我没有粘贴上来,全部的程序是可以实现灯的闪烁的,我用的是while循环来实现的
zwwstar
3楼-- · 2019-07-22 06:41
jingjing1 发表于 2018-12-18 18:14
1、delay这个函数应该是(x)x如果为1 那就是延时1ms
2、但是我实际中,led灯亮的时间和我设置的时间是 ...

噢,麻烦你把delay函数体发出来看看,按道理不应该就闪一下哇

一周热门 更多>