delay和delayMicroseconds的差异

问题遇到的现象和发生背景

自学arduino 时遇到了一些疑问,当延时使用delay时程序可以正常运行,但延时使用 delayMicroseconds 时程序就无法正常运行,具体表现为 LED低电平的延时使用delayMicroseconds时,不论高电平使用 delay 还是 delayMicroseconds,LED常亮。
而当高电平使用delayMicroseconds (1000000),低电平使用 delay (1000)时,LED闪烁及其微弱

问题相关代码,请勿粘贴截图

void setup() {
// put your setup code here, to run once:
pinMode ( LED_BUILTIN , OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite ( LED_BUILTIN ,HIGH);
delay (1000);
//delayMicroseconds (1000000);
digitalWrite ( LED_BUILTIN ,LOW);
delay (1000);
//delayMicroseconds (1000000);

}

运行结果及报错内容

但从软件方面编译正常不报错,上传硬件后效果差异显著。

我想要达到的结果

为啥delay和delayMicroseconds 使用时只是单位不同,换算后的数值是一样的,差异这么大?

delayMicroseconds的参数是整形,很可能是16位整形,所以你这个变量超过范围了,溢出后的数值是16960,也就是17毫秒左右,和1秒比起来,当然是很小的数值,当然就很暗了。