Ich mache ein Projekt mit einem PIC18F452 und muss USART verwenden. Daher habe ich ein FTDI Basic Breakout Board (von Sparkfun) gekauft, um das Debuggen zu erleichtern. Das Board ist die 5V-Version.
Ich habe FT232R bereits mit einer Loopback-Schaltung und Putty (unter Windows) getestet und es funktioniert gut. Ich habe PIC auch mit einer Loopback-Schaltung getestet und es funktioniert auch gut. Ich kann jedoch FT232R nicht dazu bringen, mit PIC zu arbeiten. Im Mikrocontroller habe ich USART mit 9600 kBaud, 8 Bit, keine Parität (wie PC-Seite), RX mit Interrupt konfiguriert. Ich sende nur Daten vom PC zum PIC. Wenn PIC etwas empfängt, druckt es auf LCD. Das Problem ist, dass PIC nichts empfängt. Also nahm ich eine Oszilloskopsonde und die Ergebnisse sind diese:
Das Signal berührt nicht den GND! Deshalb erkennt PIC keine Daten, die am RX-Pin ankommen, richtig?
Wenn ich jedoch den FT232-TX-Pin vom PIC-RX-Pin trenne, erhalte ich:
Ich habe beide GND (ft232 und PIC) verbunden.
Irgendwelche Vorschläge, wie man das löst?
Danke!
Haben Sie den Ausgangstreiber auf dem PIC UART RX-Pin aktiviert? Wenn es einen hohen Pegel austreibt, geht die Spannung auf 5 V, wenn der FTDI hoch fährt, und etwas in der Mitte aufgrund von Konflikten, wenn der FTDI niedrig fährt.
(Dies kann ein dummer Vorschlag sein, je nachdem, wie die PIC-UART-Konfiguration funktioniert. In diesem Fall tut es mir leid.)
Das passiert oft, wenn Sie zwei Sender miteinander verbinden.
Wenn Sie also zurückschleifen, ist es kein großes Problem, zu wissen, welcher der TX und welcher der RX ist. Entweder der FT232 oder das Bild versuchen, hilfreich zu sein, und wenn das Gerät TX verwendet, bedeutet dies, dass die anderen Geräte TX verwenden. Dies ist einer der vielen Gründe, warum Namenskonventionen Krieg verursachen.
Versuchen Sie, die TX- und RX-Leitung zu tauschen, und prüfen Sie, ob die Leitung beginnt, der erwarteten Spannung zu folgen. Wenn alles andere funktioniert, handelt es sich um ein Hardwareproblem, und dies würde dazu führen, dass die Leitung nicht auf 0 V geht und kein Signal zwischen den Chips übertragen wird.
Während dies nicht direkt auf Ihr Problem mit Spannungen zutrifft, besteht ein häufiges Problem, wenn keine Daten in den UART eines PIC gelangen, darin, dass Sie daran denken müssen, das OERR-Bit zu löschen. Wenn es jemals gesetzt wird, ignoriert der PIC alle weiteren eingehenden Daten, bis OERR gelöscht ist.
ajs410