Auf dem PIC-Mikrocontroller UART wurde die Baudrate auf 38400 eingestellt (keine Parität, 8 Datenbits).
*************UART 1 configuration*********
IFS0bits.U1RXIF = 0;
IFS0bits.U1TXIF = 0;
IEC0bits.U1RXIE = 1;
IEC0bits.U1TXIE = 0;
U1MODEvalue = 0b1000000000001000;
U1STAvalue = 0b0000010000000000;
U1BRG = 103;
U1MODE = U1MODEvalue;
U1STA = U1STAvalue;
An uC angeschlossenes Gerät funktioniert einwandfrei; Sie haben eine gesunde Kommunikation. Aber ich habe die Baudzeit meiner Daten gemessen und festgestellt, dass das Startbit und das Datenbit 26 us anzeigen, was gemäß 1000000/Baudrate uns ok ist, aber das Stoppbit beträgt nur etwa 20 us, das sieht für mich falsch aus sollte auch die 26us lesen. Also versuche ich es mit unterschiedlicher Baudrate. Habe aber das gleiche Problem (siehe Tabelle unten).
4800Buad Rate, Stoppbitzeit = 160us (aber es sollte 208us sein)
9600Buad Rate, Stoppbitzeit =72us (aber es sollte 104us sein)
38400Buad-Rate, Stoppbitzeit = 20 us (aber es sollte 26 us sein)
115200Buad-Rate, Stoppbitzeit = 7,2 us (aber es sollte 8,8 us sein)
Ich habe das Support-Team gefragt, und sie sagen, dass Ihr BRGH-Wert auf 1 gesetzt ist, versuchen Sie, ihn auf 0 zu ändern. Also habe ich BRGH = 0 geändert und dieses Problem ist gelöst.
Bei BRGH = 0 wird der Stoppbitfehler entfernt und das Stoppbit misst 26 uS. Das müssen wir noch mit anderen Baudraten testen.
F1) Warum macht BRGH nur einen Unterschied in der Stoppbit-Baudzeit? Wir verwenden 8 MHz Quarz.
F2) Das Datenblatt sagt BRGH=1 für Hochgeschwindigkeitsfreigabe, was bedeutet es hier mit Hochgeschwindigkeit, ist es Baudrate, wenn ja, welche Baudrate gilt als Hochgeschwindigkeit?
F4) Wann BRGH=0 oder wann BRGH=1 zu verwenden ist, wurde gemäß dem Test ein Stoppbit-Baudfehler bei jeder Baudrate gemäß der oben angegebenen Testergebnistabelle beobachtet.
Link von uC
http://ww1.microchip.com/downloads/en/DeviceDoc/en026583.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/39747F.pdf
P 146-149 definiert warum und wie
Suchen Sie in diesem Fall immer nach BRGH im Datenblatt
Pericynthion
Tony Stewart EE75
Tony Stewart EE75
Tony Stewart EE75