TO TEST
// switch action
#define F_CPU 16000000UL // Define software reference clock for delay duration
// Must be write before call delay.h
#include <avr/io.h>
#include <util/delay.h>
#define SWT PB4 // Define switch pin on PB4
#define LED PORTD // Define LED on 8 bits PORTD
int main(void) {
int x = 0 ;
DDRB &= ~(1<<SWT); // Set input direction on SWT (PB2) *1
DDRD = 0xFF; // Set output direction on PORTB
for (;;) // Endless loop
{
if (bit_is_clear(PINB, SWT)) // Read SWT pin (if SWT pressed, do the loop one time)
{
LED = x; // show 8 leds x value
x++; // x + 1
if ( x > 255 ) x = 0 ; // when 256 return to 0
_delay_ms (500); // blinking delay
}
}
return 0;
}