Three exclamation marks in a Serial.print statement crashes the compiler.
Serial.println("I am treacherous!!!");
Anybody knows why and if it is only on my IDE or if this is a know issue?
Three exclamation marks in a Serial.print statement crashes the compiler.
Serial.println("I am treacherous!!!");
Anybody knows why and if it is only on my IDE or if this is a know issue?
It's a known issue with the Arduino Mega, don't know if you're using it, just remove 1 exclamation mark.. ![]()
It crashes the compiler?
That's news.
I thought that three exclamation points (in a Serial.print(...) statement or elsewhere in the compiled program) gets the attention of the bootloader and could mess up a download.
Crashing the compiler would be news to me.
I thought that had been fixed ages ago.
Well I am using a Mega, but can easily test it on any board you want. It does not crash the compiler it messes up the download.
Sometimes it even messes up my board it won't receive anything. Communication is lost. I have to unplug the board, deselect the port in the IDE and then reconnect it, reselect the USB port then download something like blink... The it works again...
Kevin77:
Well I am using a Mega, but can easily test it on any board you want.
Proof, please.
This was a "feature" of the old Mega bootloader. Arduino came to their senses and removed it quite a while ago but old boards or maybe some clones will still have the old bootloader. You can fix it by doing a Tools > Burn Bootloader using any recent version of the Arduino IDE.
Fun fact: if you have verbose output during upload turned on you'll see it prints "Bootloader Huh?" over and over again.
AWOL:
Proof, please.
Ok not on "any" board... On a wide variety of boards? Is that better, AWOL?
Kevin77:
Ok not on "any" board... On a wide variety of boards? Is that better, AWOL?
Waggling your finger in random directions wastes your time and ours. So, no, that is not better.
At this point, the problem may or may not be the compiler.
At this point, the problem may or may not be the download (whatever that is).
At this point, the problem may or may not be a Mega.
Your lack of concern for details suggests you do not want a solution but want to bemoan. If so, you should have stated that in your original post.
If the problem is uploading to a Mega then the extremely generous people of this forum have already given you the answer despite your failure to describe the problem.
CrossRoads:
I thought that had been fixed ages ago.
Not for the fake/chinese Arduino's ![]()
akatchi:
Not for the fake/chinese Arduino's
Perhaps the question should go to their support forums.
Oh. Wait.
It isn't in the compiler.
pert:
This was a "feature" of the old Mega bootloader. Arduino came to their senses and removed it quite a while ago but old boards or maybe some clones will still have the old bootloader. You can fix it by doing a Tools > Burn Bootloader using any recent version of the Arduino IDE.Fun fact: if you have verbose output during upload turned on you'll see it prints "Bootloader Huh?" over and over again.
Thanks, for the info, did not know that.
I tested all my boards I have lying around. The issue is only with my old original Arduino Mega boards. After burning the boatloader the problem is fixed, thanks pert!
akatchi:
Not for the fake/chinese Arduino's
I checked two fake arduino Mega's I have on loan. They work fine. No problems.
My original post (if you read it) was a simple question if anybody else experienced the same problem. I did not ask for a solution, I already found it, use 3 exclamation marks and the code does no longer uploads.
I too spent a lot of time trying to help other people with the little knowledge I have. I read and learn. This place is a place for discovering and learning for me if there is a way to clarify the difference between an urgent question or an experience I wish to share, please let me know and I will use it from now on.
Just to clarify I thought AWOL was making a joke. I find his replies quite often very insightful and funny. If I write :
Well I am using a Mega, but can easily test it on any board you want.
And he answers
Proof, please.
I interpret that as a joke because of course I do not own every board there is. I was not being vague I responded to something I thought was funny. I am sorry if it was not meant to be funny and I am sorry if it offended you. But I was not being vague.
And of course I am very thankful for this forum, people always help out quickly and take time to explain things. It is one of the best forums out there.
Did you ever consider typing the simple phrase "three exclamation marks" into the search box, up there, on the right?
:-[
No, but I catch your drift...
I only searched for !!!
( and It does sound read kind of urgent, doesn't it?)
pert:
This was a "feature" of the old Mega bootloader.
It still is, but the !!! must be within the first 9 bytes read by the bootloader (if enabled).
Its a feature designed to keep n00bs and l33t-speakers from uploading code.
oqibidipo:
It still is, but the !!! must be within the first 9 bytes read by the bootloader (if enabled).
Interesting. I didn't know that. I guess it makes sense to leave the feature available in case anyone misses it but make it unlikely to be encountered unintentionally.
PaulMurrayCbr:
Its a feature designed to keep n00bs and l33t-speakers from uploading code.
Haha, I'm going to make a bootloader that says "Use code tags!" if it encounters the string "Ardunio".