/* ******************************************************** * * * Simple Template for ATMEL Microcontroller * * -------------------------------------------------------- * * Created on: 25.07.2016 * Author: Paolo Iocco * ******************************************************** */ /* ******************************************************** * ATtiny 88 / Mega 168 / Mega 328 Pin map +-\/-+ /Reset PC6 1|o |28 PC5 ADC5 RXD PD0 2| |27 PC4 ADC4 TXD PD1 3| |26 PC3 ADC3 PD2 4| |25 PC2 ADC2 OC2B PD3 5| |24 PC1 ADC1 PD4 6| |23 PC0 ADC0 VCC 7| |22 GND GND 8| |21 AREF OSC1 PB6 9| |20 VCC OSC2 PB7 10| |19 PB5 SCK OC0B PD5 11| |18 PB4 MISO AIN0 OC0A PD6 12| |17 PB3 OC2A MOSI AIN1 PD7 13| |16 PB2 OC1B PB0 14| |15 PB1 OC1A +----+ * ******************************************************** */ #ifndef F_CPU #define F_CPU 8000000 #endif #include #include #define BAUD 9600 #define m168p #include /* Definizioni per il m168p */ #ifdef m168p #define UCSRA UCSR0A #define UCSRB UCSR0B #define UCSRC UCSR0C #define UBRRH UBRR0H #define UBRRL UBRR0L #define U2X U2X0 #define UDRE UDRE0 #define UDR UDR0 #endif /* fine definizioni per il m168p*/ /* Inizializza la porta seriale */ void uart_init(void) { UBRRH = UBRRH_VALUE; UBRRL = UBRRL_VALUE; #if USE_2X0 UCSRA |= (1 << U2X); #else UCSRA &= ~(1 << U2X); #endif UCSRC= _BV(UCSZ01) | _BV(UCSZ00); // 8 N 1 UCSRB= (1<