Gast
#4896483
Hallo, ich arbeite mich gerade in die USART bei meinem ATTiny ein. In dem AVR-GCC Tutorial hier hab ich folgendes Makro in meinen Code geholt: #define F_CPU 8000000UL #define BAUD 9600UL // Baudrate #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // clever runden #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) // Reale Baudrate #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler. #if ((BAUD_ERROR<990) || (BAUD_ERROR>1010)) #error Systematischer Fehler der Baudrate groesser 1% und damit zu hoch! #endif Für eine Baudrate von 9600 ist alles in Ordnung, für 115200 ist der Fehler allerdings zu hoch. Gibt es eine Möglichkeit, dass ich die 115200 doch irgendwie zuverlässig zum Laufen bringe? Einen externen Quarz habe ich nicht, möchte es gerne mit dem internen machen. Danke vorab für eure Hilfe!