我是“ATmega4809 Curiosity Nano Board”的新手,我正在尝试简单的 LED 闪烁,延迟 1 秒。但我实现的延迟是1.24秒。
我该如何调节?请建议如何准确调节延迟?
#include "mcc_generated_files/system/system.h"
#include <util/delay.h>
#include <avr/delay.h>
#include <avr/io.h>
#include <stdio.h>
/*
Main application
*/
int main(void)
{
SYSTEM_Initialize();
LED0_SetDigitalOutput();
while(1)
{
LED0_SetLow();
_delay_ms(1000);
LED0_SetHigh();
_delay_ms(1000);
}
}
这完全取决于
_delay_ms()
的实施。毫无疑问,定义的时钟频率不是您正在运行的时钟频率。
但显然,如果 1000/1.24 (806),您可以使用延迟参数轻松地“修复”它。