37 lines
1003 B
C
37 lines
1003 B
C
#include <avr/io.h>
|
|
|
|
#define SET(REGISTER, BIT) REGISTER |= 1 << BIT
|
|
#define CLEAR(REGISTER, BIT) REGISTER &= ~(1 << BIT)
|
|
#define TEST(REGISTER, BIT) REGISTER & 1 << BIT
|
|
#define TOGGLE(REGISTER, BIT) REGISTER ^= 1 << BIT
|
|
|
|
int main()
|
|
{
|
|
// DDRx : select direction of the pin
|
|
// - 1 = output (pull-up off)
|
|
// - 0 = input
|
|
// PORTx :
|
|
// if DDRx = 1 (output mode) :
|
|
// - 1 = HIGH (5V)
|
|
// - 0 = LOW (0V)
|
|
// if DDRx = 0 (input mode) :
|
|
// - 1 = pull-up on
|
|
// - 0 = pull-up off
|
|
// PINx :
|
|
|
|
|
|
// turn on led 1
|
|
SET(DDRB, 0); // make PB0 as OUTPUT
|
|
SET(PORTB, 0); // make PB0 as HIGH (LED turns ON)
|
|
|
|
// CLEAR(DDRB, 1); // make PB0 as INPUT
|
|
// SET(PORTB, 1); // make PB0 pullup on
|
|
|
|
// SET(DDRB, 2); // make PB0 as OUTPUT
|
|
// CLEAR(PORTB, 2); // make PB0 as LOW (LED turns OFF)
|
|
|
|
// CLEAR(DDRB, 4); // make PB0 as INPUT
|
|
// CLEAR(PORTB, 4); // make PB0 as LOW (LED turns OFF)
|
|
|
|
return 0;
|
|
} |