Hallo, ich setze in meiner Schaltung eine USB UART Bridge von embedded projects ein. Zur UART Implementierung im Mikrocontroller nutze ich die Fleury Lib. Alles funktioniert einwandfrei. Sobald ich jedoch die Kabel zur USB UART Bridge entferne und in der Luft baumeln lasse kommen irgendwelche Daten im Mikrocontroller an. Es geht sogar soweit das der Watchdog wegen der Datenfülle zubeist. Zudem schreibe ich empfangene Daten in ein EEPROM (Protokoll mit Startzeichenabfrage implementiert). Die Daten im EEPROM werden mit Müll befüllt. Wenn ich jetzt andere USB UART Bridges nutze (ausgeschlachtet aus Handy Datenkabel etc.) kommt es zu eben diesem Fehler wenn keine Verbindung mit einem USB Kabel zum PC besteht. Ich verbinde also RxD / TxD vom CP2102 und GND mit der Mikrocontroller UART / Schaltung. Die Power LED der USB UART Bridge von embedded projects leuchtet auch wenn keine Verbindung per USB Kabel zum PC besteht. Die Power LED aller anderer getesteten Bridges leuchtet erst wenn die Spannungsversorgung über ein USB Kabel besteht. Kommen nun Daten durch Störfelder rund um die angeschlossenen Leitungen auf der Mikrocontrollerseite an? Kann ich dann im AVR Programm einfach die Pull Ups der UART PINs aktivieren um den Fehler zu beseitigen ? Oder verenne ich mich jetzt total ? Ich würde mich freuen wenn Ihr mich unterstützt! Gruß ernst
nähere erklärungen zu deinem code wären mal sinnvoll die lib an sich istbekannt aer irgendwas muss ja uart_get() aufrufen ,... ebenso muss was sein das der pin dort wackelt .. das tuen die im regelfall nicht also ... code + schaltplan
Hallo, die uart_getc() rufe ich in der Hauptschleife auf.
1 | c = uart_getc(); //UART Datenempfang |
2 | |
3 | if (!( c & UART_NO_DATA )) //Daten wurden Empfangen |
4 | {... } |
Anbei eine Anschlussdarstellung. Das USB UART Modul ist also direkt mit den entsprechenden Pins vom Mikrocontroller verbunden. Wenn das USB UART Modul über den USB Anschluss mit Spannung versorgt wird, funktioniert alles einwandfrei. Erst wenn das USB Kabel abgeklemmt oder die Leitungen offen "herumbaumeln" kommt es zum geschilderten Fehler. Evt. "strahlt" auch etwas in die offenen Leitungen weil ich einen Schaltregler auf der Leiterplatte einsetze...
Hallo, ich habe jetzt die Pull Ups von RxD und TxD am Mikrocontroller aktiviert. Funktioniert soweit. ernst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.