Joris wrote:
> Ich dachte eigentlich, dass es so funktionieren müsste...wie gesagt
> dachte ich.... ;)
Dein Code ist soweit (fast) in Ordnung. Ich weiss jetzt nicht,
wo und wann du genau den Watch gesetzt hast. TX_B existiert
nur innerhalb der Funktion USART_TX, d.h. du musst schon
innerhalb der Funktion sein, damit der Debugger TX_B auswerten
kann.
'Fast' deswegen:
Du musst schon vor jedem Zeichen warten, bis die UART bereit ist.
1 | int USART_TX(char *TX_B, unsigned int TX_B_L) {
|
2 |
|
3 | for(int i=0; TX_B_L > i; i++) {
|
4 | while (!(UCSR0A & (1<<UDRE0))) { } // Warten bis Senden möglich
|
5 | UDR0 = TX_B[i];
|
6 | }
|
7 |
|
8 | return 0;
|
9 | }
|