#include #include #include #include #include "lib/uart.h" #include "lib/stream.h" // // Example of asynchronous UART key handling // // It recognizes special keys like arrows and some F keys, // check uart.h file for full list. ISR(USART_RX_vect) { char c = uart_rx(); vt_handle_key(c); // we can do anything further with the received byte } // Our custom key handler function void key_handler(uint8_t code, bool special) { put_str_P(uart, special ? PSTR("Special: ") : PSTR("Char: ")); put_c(uart, code); // the actual character put_c(uart, ' '); // space put_u8(uart, code); // as number put_nl(uart); // crlf } void main() { uart_init(9600); // set BAUD-rate uart_isr_rx(1); // enable the ISR vt_init(); // initialize uart_ansi library vt_set_key_handler(&key_handler); // assign our custom handler sei(); put_str_P(uart, PSTR("UART key handler test!\r\n")); while(1); }