1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
-
-
- #include "oddebug.h"
-
- #if DEBUG_LEVEL > 0
-
- #warning "Never compile production devices with debugging enabled"
-
- static void uartPutc(char c)
- {
- while(!(ODDBG_USR & (1 << ODDBG_UDRE)));
- ODDBG_UDR = c;
- }
-
- static uchar hexAscii(uchar h)
- {
- h &= 0xf;
- if(h >= 10)
- h += 'a' - (uchar)10 - '0';
- h += '0';
- return h;
- }
-
- static void printHex(uchar c)
- {
- uartPutc(hexAscii(c >> 4));
- uartPutc(hexAscii(c));
- }
-
- void odDebug(uchar prefix, uchar *data, uchar len)
- {
- printHex(prefix);
- uartPutc(':');
- while(len--){
- uartPutc(' ');
- printHex(*data++);
- }
- uartPutc('\r');
- uartPutc('\n');
- }
-
- #endif
|