This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
digispark:tutorials:debugging [2013/05/05 02:45] RC Navy [How to use this debugging capabilities] |
digispark:tutorials:debugging [2013/05/05 08:30] RC Navy [Bi-directional Serial Debugging with a single I/O] |
||
|---|---|---|---|
| Line 50: | Line 50: | ||
| ===== Bi-directional Serial Debugging with a single I/O ===== | ===== Bi-directional Serial Debugging with a single I/O ===== | ||
| - | If you didn't plan to use DigiUSB in your final sketch, the following proposed alternative consumes less pin than USB and less program memory.\\ Since the last version of <SoftSerial> library (may 2013), <SoftSerial> is an alternative for debugging Digispark just using a single I/O.\\ By declaring a <SoftSerial> object with the __same__ pin for Tx and Rx: it's possible to use a half duplex (request/response) software serial port using a __single__ I/O. | + | If you didn't plan to use DigiUSB in your final sketch, the following proposed alternative consumes less pin and program memory than USB.\\ Since the last version of <SoftSerial> library (may 2013), <SoftSerial> is an alternative for debugging Digispark just using a single I/O.\\ By declaring a <SoftSerial> object with the __same__ pin for Tx and Rx: it's possible to use a half duplex (request/response) software serial port using a __single__ I/O. |
| - | The external interface is composed of 2 resistors and a regular diode (See below).\\ Please, note this solution requires a native RS232 port (rare today) or a RS232/USB adapter on the development PC. | + | The external interface is composed of 2 resistors and a regular diode (See below).\\ This approach allows to use the built-in Serial Monitor of the arduino IDE.\\ Please, note this solution requires a native RS232 port (rare today) or a RS232/USB adapter on the development PC. |
| ==== How to use this debugging capabilities? ==== | ==== How to use this debugging capabilities? ==== | ||
| Line 111: | Line 111: | ||
| === Built-in IDE Serial Monitor or external Terminal? === | === Built-in IDE Serial Monitor or external Terminal? === | ||
| With this approach, the regular serial monitor of the arduino IDE can be used. In the IDE, just select the RS232 port through the Tools->Serial Port menu. Then, adjust data rate and line terminator (if any), you can use the serial console as usual. | With this approach, the regular serial monitor of the arduino IDE can be used. In the IDE, just select the RS232 port through the Tools->Serial Port menu. Then, adjust data rate and line terminator (if any), you can use the serial console as usual. | ||
| - | In this case, you do not need any external Terminal. | + | In this case, you do not need any external Terminal.\\ If you prefer using an external Terminal, on the PC, open your favorite Terminal application at 38400,n,8,1: HyperTerminal, Teraterm (Windows) or Minicom, GtkTerm (Linux) and CoolTerm (MAC) does the trick. |
| - | If you prefer using an external Terminal, on the PC, open your favorite Terminal application at 38400,n,8,1: HyperTerminal, Teraterm (Windows) or Minicom, GtkTerm (Linux) and CoolTerm (MAC) does the trick. | + | |
| __Note__: | __Note__: | ||
| * Trick to be less intrusive: use a "high" data rate (38400 is fine) -> less time wasted in ISR and for transmitting each character. | * Trick to be less intrusive: use a "high" data rate (38400 is fine) -> less time wasted in ISR and for transmitting each character. | ||
| - | * you can still upload your sketch modifications through the USB interface whilst the additionnal serial port is selected as Serial port in the IDE. | + | * You can still upload your sketch modifications through the USB interface whilst the additionnal serial port is selected as Serial port in the IDE. |
| "Vintage" serial interfaces are not dead! :-) | "Vintage" serial interfaces are not dead! :-) | ||
| + | |||
| + | [[http://p.loussouarn.free.fr/partage/arduino/Libs4Digi_1io_Debug.zip|Download here the related libraries]] | ||