#include "c:\avrtoolbox\libavr\source\elementary\serial\serial.h" //"libserial\serial.h" int main(void) { usart_baud_t usart_baud; usart_mode_t usart_mode; usart_databits_t usart_databits; usart_stopbits_t usart_stopbits; usart_parity_t usart_parity; usart_flow_control_t usart_flow_control; // test code 1 // THIS LINE WAN'T COMPILE //usart0_init(usart_baud.baud_9600,F_CPU,usart_mode.usart_mode_asynchronous,usart_databits.8-bit,usart_stopbits.1-stopbit,usart_parity.parity_none,usart_flow_control.flow_none); // THIS CAN COMPILE, BUT DON'T WORK usart0_init(9600,8000000,0,8,1,0,0); usart0_put_string("Test"); // BELOW CODE WORK, BUT SPEED IS HALF OF DECLARED !!!! // Test code 2 //serial_begin(9600); //serial_out("Hello there this is 4800 speed "); // ACTUAL SPEED IS 4800 !!!!!!! while(1) { } }
Generated code I tryed with ISIS Proteus.