-void print_CRLF(void)
-{
- sendchar('\r'); sendchar('\n');
-}
-
-
-#define SIGNED 0x80
-#define BIN 2
-#define OCT 8
-#define DEC 10
-#define HEX 16
-
-static inline
-char itoc(uint8_t i)
-{
- return (i < 10 ? '0' + i : 'A' + i - 10);
-}
-
-static inline
-void print_int(uint16_t data, uint8_t base)
-{
- char buf[7] = {'\0'};
- char *p = &buf[6];
- if ((base & SIGNED) && (data & 0x8000)) {
- data = -data;
- buf[0] = '-';
- }
- base &= ~SIGNED;
- uint16_t n;
- do {
- n = data;
- data /= base;
- *(--p) = itoc(n - data*base);
- } while (data);
- if (buf[0]) *(--p) = buf[0];
- print_S(p);
-}
-
-void print_dec(uint16_t data)
-{
- print_int(data, DEC);
-}
-
-void print_decs(int16_t data)
-{
- print_int(data, DEC|SIGNED);
-}
-
-
-static inline
-void print_hex4(uint8_t data)
-{
- sendchar(data + ((data < 10) ? '0' : 'A' - 10));
-}
-
-void print_hex8(uint8_t data)
-{
- print_hex4(data>>4);
- print_hex4(data&0x0F);
-}
-
-void print_hex16(uint16_t data)
-{
- print_hex8(data>>8);
- print_hex8(data);
-}
-
-void print_hex32(uint32_t data)
-{
- print_hex16(data>>16);
- print_hex16(data);
-}
-
-
-void print_bin(uint8_t data)
-{
- for (int i = 7; i >= 0; i--) {
- sendchar((data & (1<<i)) ? '1' : '0');
- }
-}
-
-void print_bin16(uint16_t data)
-{
- print_bin8(data>>8);
- print_bin8(data);
-}
-
-void print_bin32(uint32_t data)