#define LED_PIN 13 // Built-in LED is on pin 13
void setup() {
// Set pin 13 as output
asm volatile (
"sbi %[ddr], %[pin] \n" // Set bit in DDRB register to configure pin as output
:
: [ddr] "I" (_SFR_IO_ADDR(DDRB)), [pin] "I" (5) // DDRB corresponds to digital pins 8-13
);
}
void loop() {
// Turn the LED on
asm volatile (
"sbi %[port], %[pin] \n" // Set bit in PORTB register to turn on the LED
:
: [port] "I" (_SFR_IO_ADDR(PORTB)), [pin] "I" (5) // PORTB, pin 5 = digital pin 13
);
delay(500); // Wait for 500ms
// Turn the LED off
asm volatile (
"cbi %[port], %[pin] \n" // Clear bit in PORTB register to turn off the LED
:
: [port] "I" (_SFR_IO_ADDR(PORTB)), [pin] "I" (5)
);
delay(500); // Wait for 500ms
}