TX Led keeps steady on

Hi all,

I have programmed my Arduino Uno to send out some stuff every second.

char sometext[10] = "blahblah";

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.write(sometext);
  delay(1000);

Now, when I look at my Arduino, I see the TX led constant ON. When I open my serial monitor in the IDE software, then I see "blahblah" appearing every second (as expected) and then I see the TX led blinking every second.

How is this possible? Only when I open the serial monitor the communication works? What am I missing here...?

The serial communication is working in any case.
The reason why you see different behaivour on the led may be caused by impedances or capacitances.

When you have the led alone, with no monitor, at 115200 baud it's nearly imposible to see the led blinking.
When serial monitor is started it's also nearly imposible but if the pc input impedance falls when receiving you can see the led blinking for a moment as the current through the led is lower.

I think this is the reason for what you are seeing.

Hello Pacoandres,

I added a 1 second delay, so that means that the Tx led should go out for 1 second. But I don't see that...

Thx

If you read the UART specifications you can see that the TX line should be in a HIGH state when no transmitting.
So you can't see the led blinking unless you slow the port to 4800 baud or less.

Are you sure that it's the TX led that is on, not the L led (pin 13)?

The TX LED on an Uno is driven by the USB/Serial chip. not by the actual TXD line of the AVR.
I would guess that when USB communication isn't happening because nothing is reading the data, the LED isn't manipulated.