main
Rev | Line | |
---|
[b0c194d] | 1 | /* Name: oddebug.c
|
---|
| 2 | * Project: AVR library
|
---|
| 3 | * Author: Christian Starkjohann
|
---|
| 4 | * Creation Date: 2005-01-16
|
---|
| 5 | * Tabsize: 4
|
---|
| 6 | * Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH
|
---|
| 7 | * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
|
---|
| 8 | * This Revision: $Id: oddebug.c 692 2008-11-07 15:07:40Z cs $
|
---|
| 9 | */
|
---|
| 10 |
|
---|
| 11 | #include "oddebug.h"
|
---|
| 12 |
|
---|
| 13 | #if DEBUG_LEVEL > 0
|
---|
| 14 |
|
---|
| 15 | #warning "Never compile production devices with debugging enabled"
|
---|
| 16 |
|
---|
| 17 | static void uartPutc(char c)
|
---|
| 18 | {
|
---|
| 19 | while(!(ODDBG_USR & (1 << ODDBG_UDRE))); /* wait for data register empty */
|
---|
| 20 | ODDBG_UDR = c;
|
---|
| 21 | }
|
---|
| 22 |
|
---|
| 23 | static uchar hexAscii(uchar h)
|
---|
| 24 | {
|
---|
| 25 | h &= 0xf;
|
---|
| 26 | if(h >= 10)
|
---|
| 27 | h += 'a' - (uchar)10 - '0';
|
---|
| 28 | h += '0';
|
---|
| 29 | return h;
|
---|
| 30 | }
|
---|
| 31 |
|
---|
| 32 | static void printHex(uchar c)
|
---|
| 33 | {
|
---|
| 34 | uartPutc(hexAscii(c >> 4));
|
---|
| 35 | uartPutc(hexAscii(c));
|
---|
| 36 | }
|
---|
| 37 |
|
---|
| 38 | void odDebug(uchar prefix, uchar *data, uchar len)
|
---|
| 39 | {
|
---|
| 40 | printHex(prefix);
|
---|
| 41 | uartPutc(':');
|
---|
| 42 | while(len--){
|
---|
| 43 | uartPutc(' ');
|
---|
| 44 | printHex(*data++);
|
---|
| 45 | }
|
---|
| 46 | uartPutc('\r');
|
---|
| 47 | uartPutc('\n');
|
---|
| 48 | }
|
---|
| 49 |
|
---|
| 50 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.