Girino - Fast Arduino Oscilloscope


Step 3: Debug output

Picture of Debug output
I usually put a lot of debug output in my programs because I want to keep track of anything that happens; the problem with Arduino is that we do not have a stdout to write to. I decided to use the Serial port as a stdout.

Be aware, though, that this approach does not work all the times! Because writing to the Serial port requires some time for the execution and it can dramatically change things during some time sensible routines.

I usually define debugging outputs inside a preprocessor macro, so when the debug is disabled they simply disappear from the program and do not slow down the execution:
  • dprint(x); - Writes to the serial port something like: # x: 123
  • dshow("Some string"); - Writes the string

This is the definition:

#if DEBUG == 1
#define dprint(expression) Serial.print("# "); Serial.print( #expression ); Serial.print( ": " ); Serial.println( expression )
#define dshow(expression) Serial.println( expression )
#define dprint(expression)
#define dshow(expression)

Remove these adsRemove these ads by Signing Up
DGerman2 years ago
Nice use of preprocessor

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!