问下delay_ms(500)怎么会延时5秒?

2019-07-20 00:52发布

各位高手,我学习跑马灯寄存器实验,按录像做下载后发现延时有问题,500ms实际延时了5秒,改成50是500ms,不知怎么回事?请高手指点,谢谢!
#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"
int main(void)
{
delay_init(168);

  LED_Init();

   while(1){
    GPIOF->ODR &=~(1<<9);
   GPIOF->ODR &=~(1<<10);
   
   delay_ms(500);
   
   GPIOF->ODR |= 1<<9;
   GPIOF->ODR |= 1<<10;
   
   delay_ms(500);
  
  
  
  
  
  }







}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
zjbhm
1楼-- · 2019-07-20 16:14
 精彩回答 2  元偷偷看……
hestyle
2楼-- · 2019-07-20 19:25
 精彩回答 2  元偷偷看……
plue
3楼-- · 2019-07-20 21:14
你的延时函数呢,拿出来看下呗,一般用定时器做就很准了
小怪兽说不TEN
4楼-- · 2019-07-21 01:34
在主函数先初始化
Stm32_Clock_Init(9);函数
然后初始化
delay_init(72);
我之前也是延时不准就因为初始化顺序不对(我也不知道怎么的,改了顺序延时就正常了)

一周热门 更多>