gpt4 book ai didi

c - 如何在 Keil uVision 中创建延迟功能?

转载 作者:行者123 更新时间:2023-12-02 03:38:41 35 4
gpt4 key购买 nike

Arduino 有一个delay(ms) 函数来暂停程序一段时间。以毫秒为单位非常准确。

我在用于 AT89C5131 微 Controller 的 Keil uVision 中使用的 C 中有一个延迟函数:

void delay( unsigned long duration)
{
while ( ( duration -- )!= 0);
}

这会做一些延迟工作,但 long 值不像 Arduino 那样准确。

有没有办法在 Arduino 中创建一个类似于 delay() 函数的函数?

晶体以 24Mhz 运行。

最佳答案

如果你想做busy wait,在Keil中是这样实现的:

#pragma O0
void wait(volatile uint32_t cnt) {
while(cnt--)
_nop_();
}

http://www.keil.com/support/docs/606.htm

关于c - 如何在 Keil uVision 中创建延迟功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21553964/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com