Komisches Verhalten von RX am Arduino

OP #4890832
Lesenswert?

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...
Gast #4891013
Lesenswert?

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
Gast #4891015
Lesenswert?

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.
OP #4891067
Lesenswert?

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!
OP #4891090
Lesenswert?

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
Gast #4891101
Lesenswert?

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.
OP #4891156
Lesenswert?

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.
Gast #4891261
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren