关于开发板延时问题

2019-07-21 02:19发布

自己照着例程写了跑马灯的库函数,寄存器和位带操作三个版本,都能用,延时用的也是delay_ms(500),但是库函数版本亮灭为一秒钟,剩下寄存器和位带操作两个时间都接近三秒,请大神指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 02:26
 精彩回答 2  元偷偷看……
银桑
2楼-- · 2019-07-21 04:42
不应该吧,贴代码让大家瞧瞧
队长给我球
3楼-- · 2019-07-21 05:40
回复【2楼】银桑:
---------------------------------
寄存器版本
#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);
}
}
位操作版本
#include "stm32f4xx.h"
#include "delay.h"
#include "led.h"

int main(void)
{
delay_init(168);
LED_Init();

while(1)
{

PFout(9)=1;
PFout(10)=1;
delay_ms(500);
PFout(9)=0;
PFout(10)=0;
delay_ms(500);

}
}
这两个我用秒表计算过,亮灭一次延时在三秒左右
队长给我球
4楼-- · 2019-07-21 10:32
回复【4楼】正点原子:
---------------------------------
delay_ms(168);不是吗?视频里说这个就是时钟初始化啊
正点原子
5楼-- · 2019-07-21 12:37
 精彩回答 2  元偷偷看……

一周热门 更多>