// ✔️ https://wokwi.com/projects/368195060558294017 PWM duty issue AVR analogWrite
// https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/wiring_analog.c
// https://wokwi.com/projects/368197061730029569 PWM duty issue ESP32 analogWrite
// https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-ledc.c
const int pwmPin = 11;
const int markPin = 10;
int dur = 20;
void mark() {
digitalWrite(markPin, HIGH);
digitalWrite(markPin, LOW);
}
void setup() {
pinMode(markPin, OUTPUT);
mark(); // start
analogWrite(pwmPin, 0);
delay (dur);
mark();
analogWrite(pwmPin, 1);
delay (dur);
mark();
analogWrite(pwmPin, 254);
delay (dur);
mark();
analogWrite(pwmPin, 255);
delay (dur);
mark();
analogWrite(pwmPin, 256);
delay (dur);
mark();
analogWrite(pwmPin, 257);
delay (dur);
mark();
analogWrite(pwmPin, 0); // done
}
void loop() { }