gpt4 book ai didi

c++ - PlatformIO ATMega324P util/delay.h 不准确

转载 作者:行者123 更新时间:2023-11-28 04:56:31 26 4
gpt4 key购买 nike

我正在使用 PlatformIO 和 CLion 对 ATMega324P 微 Controller 进行编程。该项目是在 mac 上使用 PlatformIO 创建的,并在 CLion 中打开。我可以成功构建程序并在 ATMega324p 上运行它。我成功运行了以下代码。

main.cpp

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRB |= 1 << PINB0;

while (true)
{
PORTB ^= 1 << PINB0;
_delay_ms(100);
}
}

Platformio.ini

[env:mightycore324]
platform = atmelavr
board = mightycore324
framework = arduino
upload_protocol = usbtiny
board_f_cpu = 16000000L

虽然这段代码运行延迟似乎明显不准确。我需要做些什么来确保延迟正常工作吗?

最佳答案

您的 MCU 可能正在耗尽其内部 RC 振荡器。这个振荡器不是特别精确——它被指定为 8 MHz,但个别部件可能运行在 7.3 到 8.1 MHz 之间的任何地方。

要获得更准确的计时,您需要连接一个外部晶体并对时钟 fuse 进行相应的编程。

关于c++ - PlatformIO ATMega324P util/delay.h 不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47007151/

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