Arduino code execution simulator?

While I realize that it is easy to upload your test sketches to your Arduino each time to verify the functions etc, I am going to ask perhaps an obvious question. Is there a code simulator available so that code can be ran on the pc and the execution steps be followed as it executes? Kind of like TRON (TRace ON) in MS GW basic (now I'll catch a bunch of heat). Just allow that some of us are not 25 and our first programming language was not C. For an old guy like me who graduated in 1982, at that time C was just appearing and we learned BASIC, and it was a long time ago. Before I was bitten by the Arduino bug I was looking at the PIC processor and found some really decent software by Oshonsoft which had a simulator for the code and used BASIC as a language but the downside is all the support for the IC needs to be built. The Arduino is MUCH more user friendly, so, even though I am not much of a C programmer and have no one I can pick on except for online I am a convert. It would be totally awesome if there was a simulator to tell me where I screwed the code though. 73 fer now. Gil

All of us here would like a really good simulator with full debugging features, but so far, nothing's worked all that well. As to being old, I've got shoes older than you...I wrote my first C book the same year you graduated! If you know Basic, you're ahead of many who come here with no prior programming experience at all. So, for now at least, take a look at the examples provided with the IDE and look around for a free tutorial that suits your needs. My guess is that you'll be up and running in no time.

73, W8TEE

All of us here would like a really good simulator with full debugging features

Speak for yourself - I've been quite content with just the occasional serial.print statement to check program flow or variable value.

You can used

1)Simple Serial.print statement in arduino itself


You can use any software

3) visual micro also gives debug options

It is, I suggest, impossible for a simulator to replicate the identical things that happen in the real hardware. Since you can upload a sketch via USB in a few seconds, why not just do that?

Just as an example, if you wave your hands over a digital port, configured as input, which does not have a pull-up or pull-down resistor, it will return random values. Try doing that to a simulator.