Deine (vermutlich) Software UART ist getestet?
Was macht der Teil
1 | for (;;) { // main loop
|
2 | sputchar( '-' );
|
3 | while (! kbhit()); // wait until byte received
|
4 | sputchar (sgetchar () + 1); // sent byte + 1
|
5 | }
|
in der Funktion uartSoftwareTransmit() ?
Deine Empfangsfunktion ist ungewöhnlich. Wie schickst du den Text zum
AVR? Schickst du ihm wirklich am Ende des Strings ein 0-Byte?
???
1 | for(i=0; satz[i] !=0; i++) {
|
2 | sputs(satz[i]);
|
3 | }
|
4 | for (;;) { // main loop
|
5 | sputchar( '-' );
|
Das eine mal sieht es so aus, als ob die Funktion zum Versenden eines
einzelnen Zeichens sputs heißen würde, das andere mal scheint sie
sputchar zu heißen. Ja, was denn nun?
Fang doch erst mal mit was ganz Banalem an:
1 | int main()
|
2 | {
|
3 | ....
|
4 |
|
5 | while( 1 )
|
6 | {
|
7 | sputchar( uartRxChar() );
|
8 | }
|
9 | }
|
Einzelzeichen: jedes Zeichen das reinkommt, wird sofort wieder
zurückgesendet.