USART funderingar PIC18 (9 bitar)
Postat: 27 januari 2009, 14:01:01
Har inte lyckats få klarhet riktigt i hur 9-bitars kommunikationen funkar i EUSARTen i PIC18.
Hittar ingen riktig förklaring.
Den första delen är helt ok.
Laddar in data i TXREG, och den nionde biten i TX9D, nåväl det är ju inga konstigheter.
Data skickas iväg, men vad händer då?
När TSR (skiftregistret) laddas från TXREG så nollställs TXREG, för att göra klart för nästa uppsättning data.
MEN vad händer med TX9D, töms den också, eller finns värdet kvar, data bladet säger faktiskt ingenting om detta (inte vad jag hittat ialla fall).
Eftersom jag behöver en drivrutin som skickar 2 stoppbitar och hårdvaran i PIC18 bara stöder 1 stoppbit, måste jag använda den nionde biten som stoppbit.
Om den inte ändras, så räcker det i princip med att ettställa TX9D vid initieringen, annars måste jag naturligtvis fixa så den blir ettställd i alla andra ställen också.
Hittar ingen riktig förklaring.
Den första delen är helt ok.
Laddar in data i TXREG, och den nionde biten i TX9D, nåväl det är ju inga konstigheter.
Data skickas iväg, men vad händer då?
När TSR (skiftregistret) laddas från TXREG så nollställs TXREG, för att göra klart för nästa uppsättning data.
MEN vad händer med TX9D, töms den också, eller finns värdet kvar, data bladet säger faktiskt ingenting om detta (inte vad jag hittat ialla fall).
Eftersom jag behöver en drivrutin som skickar 2 stoppbitar och hårdvaran i PIC18 bara stöder 1 stoppbit, måste jag använda den nionde biten som stoppbit.
Om den inte ändras, så räcker det i princip med att ettställa TX9D vid initieringen, annars måste jag naturligtvis fixa så den blir ettställd i alla andra ställen också.