Servus,
verwende ein PIC18F26K22 mit internem Oszillator mit PLL auf 64MHz. Ich
verwende eine asynchrone serielle Schnittstelle mit 19200 bps. Empfangen
am PC tue ich mit einem CP2102 und HTerm.
Wenn ich jetzt z.B. alle 10ms folgenden Code aufrufe:
1 | TXREG = '1';
|
2 | Nop();
|
3 | while( PIR1bits.TX1IF == 0 ) continue;
|
4 | TXREG = '2';
|
5 | Nop();
|
6 | while( PIR1bits.TX1IF == 0 ) continue;
|
7 | TXREG = '3';
|
8 | Nop();
|
9 | while( PIR1bits.TX1IF == 0 ) continue;
|
funktioniert alles super. Aber wenn ich nur den Code immer wieder in
einer Schleife aufrufe, passiert es des öfteren, dass ich im HTerm nur
Müll empfange, aber manchmal geht's nach dem Connecten auch gut:
312312312312312312312312312312312312312312312312312312312312312312312312
312
3123123123123123123123123123123123123123123123123123123123<\0>
<\0><\0>????????????????????????????????????????????????????????????????
???
????????????????????????????????????????????????????????????????????????
???
????????????????
<\0><\0>?231231231231231231231231231231231231231231231231231231231231231
231
231231231231231231231231231231231231231231231231231231231231231231231231
231
Baudrate habe ich schon überprüft. Die sollte nicht das Problem sein.
Was meint ihr, woran das liegen könnte?