Gast
#1718547
Hallo, ich möchte mit einem ATMEGA644p ein Zeichen über das USART0 senden. Dazu habe ich die Routienen zum initialisieren und senden aus dem Datenblatt übernommen und die Register (USART0) und das Frame Format (8 Bit, 1 Stop Bit) angepasst. Das makro zur Bausratenberechnung habe ich von hier. Hier der ganze code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
Ich mache das ganze auf einem STK500 mit 16MHz Quarz, Fuse SUT_CKSEL ist auf "Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 65 ms". mein Terminalprogramm (Docklight) empfängt aber statt des "A" nur 80 00 HEX. Sende ich andere Werte, wird manchmal 00 00 HEX, manchmal 80 00 Hex empfangen. Ich weiß nun nicht, ob ich bei der Baudratenberechnung, der Initialisierung, dem Senden oder ganz wo anders einen Fehler gemacht habe. Kann mir jemand weiter helfen? MfG Peter