nes-proj/platform/sensinode/debug.c

62 lines
1.3 KiB
C

/**
* \file
*
* Definition of some debugging functions for the sensinode port.
*
* This file is bankable.
*
* putstring() and puthex() are from msp430/watchdog.c
*
* \author
* George Oikonomou - <oikonomou@users.sourceforge.net>
*/
#include "cc2430_sfr.h"
#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);
}
}
}
/*---------------------------------------------------------------------------*/