/** * \file * * Definition of some debugging functions. * * putstring() and puthex() are from msp430/watchdog.c * * \author * George Oikonomou - */ #include "8051def.h" #include "debug.h" static const char hexconv[] = "0123456789abcdef"; static const char binconv[] = "01"; /*---------------------------------------------------------------------------*/ void putstring(char *s) { while(*s) { putchar(*s++); } } /*---------------------------------------------------------------------------*/ void puthex(uint8_t c) { putchar(hexconv[c >> 4]); putchar(hexconv[c & 0x0f]); } /*---------------------------------------------------------------------------*/ void putbin(uint8_t c) { unsigned char i = 0x80; while(i) { putchar(binconv[(c & i) != 0]); i >>= 1; } } /*---------------------------------------------------------------------------*/ void putdec(uint8_t c) { uint8_t div; uint8_t hassent = 0; for(div = 100; div > 0; div /= 10) { uint8_t disp = c / div; c %= div; if((disp != 0) || (hassent) || (div == 1)) { hassent = 1; putchar('0' + disp); } } }