#define BUTTON_PIN 9 #define LED_PIN 3 void setup() { pinMode(BUTTON_PIN, INPUT); pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, LOW); while(digitalRead(BUTTON_PIN)==HIGH); while(digitalRead(BUTTON_PIN)==LOW); while(digitalRead(BUTTON_PIN)==HIGH) { digitalWrite(LED_PIN,!digitalRead(LED_PIN)); milliSecondDelay(1000); } } void milliSecondDelay(uint16_t ms) { uint16_t i; for (i = 0; i < ms; i++) { microSecondDelay(1000); } } // end millSecond void microSecondDelay(uint16_t us) { uint16_t i; for (i = 0; i < us; i++) { asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); i+i; } }