Hallo, ein Bekannter von mir hat einen China Arduino Uno. Der lässt sich problemlos programmieren. Bei Versuchen ein serielles Gerät über den UART des Uno (RX/TX Pins) anzusteuern stellte sich jedoch heraus, das die Empfangsleitung scheinbar immer nur HIGH-Pegel erkennt. Auch die RX-LED geht nicht an, selbst wenn man den Pin am Uno auf Masse legt. Beim TX-Pin klappt das und auch bei anderen Uno-Clones geht die RX-LED an wenn man den RX-Pin auf GND legt. Jetzt ist natürlich klar das da irgendein Defekt vorliegt. Ich frage mich nur wie das geht, obwohl die Programmierung einwandfrei funktioniert? Und dabei muss der RX ja wohl klappen... Die LEDs werden ja nicht direkt vom Uno angesteuert, sondern von dem zweiten Atmega der als USB-Chip dient. Beim programmieren sieht man auch sowohl RX als auch TX flackern. Irgendeiner ne Idee wie das sein kann? Ein merkwürdiges Fehlerbild...
RX Pin im Programm aus Versehen auf Ausgang und High gestellt?
Jim M. schrieb: > RX Pin im Programm aus Versehen auf Ausgang und High gestellt? "Leider" nicht. Serial.end(); pinMode(0, INPUT);
Hi
>RX Pin im Programm aus Versehen auf Ausgang und High gestellt?
Wenn RX enabled (RXE = 1 in UCSR0B) wird, übernimmt die USART die
Kontrolle über das PIN.
Deswegen ist das
pinMode(0, INPUT);
auch überflüssig.
MfG Spess
Olli Z. schrieb: > China Arduino Uno. > .. > sondern von dem zweiten Atmega der als USB-Chip dient. Das wäre beim China Uno höchst ungewöhnlich, da ist USB nach Seriell meist als Hardwarebaustein CH340 drauf. > Jetzt ist natürlich klar das da irgendein Defekt vorliegt. Ich frage > mich nur wie das geht, obwohl die Programmierung einwandfrei > funktioniert? Eben, wenn Programmieren über USB funktioniert, kann die Hardware an dieser Stelle nicht defekt sein.
Ob die Led richtig funktioniert kannst Du einfach feststellen, indem Du den seriellen Kram beiseite lässt und den zugehörigen Pin in einer 08/15-Schleife - von mir aus mit delay - befummelst. Natürlich kann es nicht schaden vorher die Richtung usw. zu setzen.
Ohje... Hab grad mal im Uno-Datenblatt (https://www.arduino.cc/en/Main/ArduinoBoardUno) und da steht: "... Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). " Das gilt auch für den original Nano. Ich habe hier einen China-Nano und der hat natürlich keinen FTDI-Chip, sondern einen CH340 drauf. Des Rätsels Lösung ist aber: Die Chinesen haben sich bei dem nicht an den Originalbauplan gehalten. Die RX-Led ist dabei sowohl mit dem RX-Pin des Atmega als auch mit dem des CH340 verbunden! Im originalplan ist die LED ausschließlich mit dem USB-Chip verbunden. Somit ist mit nun klar, warum sich unsere Arduinos, obwohl beides Clones, in der Sache unterschiedlich verhalten. Trotzdem vielen Dank für die Hilfe!
:
Bearbeitet durch User
Olli Z. schrieb: > Im originalplan ist die LED ausschließlich mit dem USB-Chip verbunden. Spannend - wo genau steht das? Arbeitet der "USB-Chip" autark vom MC?
Dieter F. schrieb: > Olli Z. schrieb: >> Im originalplan ist die LED ausschließlich mit dem USB-Chip verbunden. > > Spannend - wo genau steht das? Arbeitet der "USB-Chip" autark vom MC? Schau mal hier: https://www.arduino.cc/en/Main/ArduinoBoardUno und suche nach "Communication". In dem Absatz steht das Zitat von mir. Auf der Seite ist auch der Schaltplan zu finden: https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
Olli Z. schrieb: > Auf der Seite ist auch der Schaltplan zu finden: > https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Schön, bekannt. Und wieso schreibst Du mal vom UNO und mal vom NANO? Olli Z. schrieb: > Das gilt auch für den original Nano. Ich habe hier einen China-Nano und > der hat natürlich keinen FTDI-Chip, sondern einen CH340 drauf. Da gibt es deutliche Unterschiede, welche Du Dir mal genau anschauen solltest.
Dieter F. schrieb: > Schön, bekannt. Und wieso schreibst Du mal vom UNO und mal vom NANO? > > Da gibt es deutliche Unterschiede, welche Du Dir mal genau anschauen > solltest. Ach gottchen, der Herr Oberlehrer. Erst scheinheilig fragen um dann den Schlauberger raushängen zu lassen. Bei Langeweile empfehle ich ein Buch, oder die Threads mal von ANFANG lesen und nicht nur den letzten Post... -------------------------------- ENDE des Thread. Bitte keine weiteren sinnbefreiten Kommentare mehr.
Olli Z. schrieb: > Erst scheinheilig fragen um dann den > Schlauberger raushängen zu lassen. Olli Z. schrieb: > Des Rätsels Lösung ist aber: Die Chinesen haben sich bei dem nicht an > den Originalbauplan gehalten. Die RX-Led ist dabei sowohl mit dem RX-Pin > des Atmega als auch mit dem des CH340 verbunden! Zumindest schreibe ich keinen Unsinn :-)
Olli Z. schrieb: > Die RX-Led ist dabei sowohl mit dem RX-Pin > des Atmega als auch mit dem des CH340 verbunden! Beim China Uno sind jeweils 1 kOhm zwischen CH340 und AT328, habe ich bei dem hier vorliegenden gerade nachgemessen. Dementsprechend ist eine LED direkt am Tx des AT328 und die andere am Tx des CH340 - andernfalls würde das mit den 1k im Signalweg nicht funktionieren. Beim China Nano sollte es genauso sein, aber ich habe jetzt keine Lust, das nachzumessen.
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.