#include "oulib.h" void flash_led(unsigned int i) { PORTB |= 1; delay_ms(i); PORTB &= ~1; delay_ms(i); } int main (void) { int c; int val; DDRB = 0xFF; // Debug lines PORTB = 0; flash_led(250); flash_led(250); // Initialize serial port serial0_init(9600); printf("hello world\n\r"); // Loop forever for(;;) { // Look for input on the serial port if(kbhit()) { // A character has been received c = getchar(); switch (c) { case 'r' : // Reset PORT B PORTB = 0; printf("reset\n\r"); break; case 's' : // Set PORT B to some value // read in an integer if(scanf("%d", &val) == 1) { // A valid integer has been input PORTB = val & 0xFF; } printf("B set to %x\n\r", val); break; case ' ' : case '\n': case '\r': break; default: printf("undefined input\n\r"); break; }; PORTB ^= 1; }; // Toggle LSB of PORTB on every cycle PORTB ^= 2; delay_ms(50); } };