使用 Arduino Uno 生成短脉冲 第 1 部分:digitalWrite() 脉冲宽度

当你使用以下代码在 Arduino Uno 上生成数字脉冲(cli()sei() 用于禁用和启用中断以确保一致的脉冲宽度)时:

pulse_digitalwrite.ino
cli();
digitalWrite(outputPin, HIGH);
digitalWrite(outputPin, LOW);
sei();

digitalWrite() 所需的时间占主导。基于 ATMega328p 的 16 MHz 时钟频率,这会生成长度正好为 4 微秒的脉冲:

示波器轨迹显示 Arduino Uno digitalWrite 生成的 4 微秒脉冲


Check out similar posts by category: Arduino, Electronics