Hi, I have a very strange problem.
My goal is to let the Arduino (uno) communicate with another device through hardware serial via a usb to ttl adapter (it is this module).
Sending from the Arduino to my laptop (Arduino ide serial monitor) works fine.
Sending from my laptop to the Arduino does not work.
Serial.available() always returns zero.
Then I connected my logic analyzer in parallel to the Tx to Rx pin (rx on Arduino). I send some bytes over the hardware serial from my laptop (every 10 ms). Now the logic analyzer does not detect this signal at all, it just shows the RX pin is LOW (less than 1.8V).
Howver, the moment I pull the cable out of the RX pin from the Arduino, the logic analyzer sees the serial data coming in. Also, when I loopback the rx and tx pin on the CH340g adapter it reads the signal it sends, no problem.
When I use another USB adapter based on a FTDI chip, the Arduino reads the signal fine.
Also, when I use software serial to communicate the Arduino reads the signal fine.
I have absolutely no idea why the Arduino cannot read the signal on the hardware RX pin. Why is it LOW? The only explanation I have is that the RX pin is connected to GND and the signal bypasses the logic analyzer (which has an input impedance of 120K ohm.
Does anyone have an idea what's going on here? For me the strangest thing is that the software serial just works fine.