#include #include #include void echo(char* str) { for(int i=0; str[i]!=0;i++) echo_c(str[i]); } void echo_c(char c) { while(!TXIF); TXREG = c; } // void echo_float(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.3f", v); // echo(buf); // } // void echo_float1(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.1f", v); // echo(buf); // } // void echo_float2(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.2f", v); // echo(buf); // } // void echo_float4(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.4f", v); // echo(buf); // } // void echo_float6(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.6f", v); // echo(buf); // } // void echo_float8(float v) { // char buf[CHAR_BUFF_SIZE]; // sprintf(buf, "%0.8f", v); // echo(buf); // } const char h[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; void echo_hex(uint8_t v) { echo_c(h[(v&0xf0)>>4]); echo_c(h[(v&0x0f)]); } void echo_hex16(uint16_t v) { echo_hex((v&0xff00)>>8); echo_hex((v&0x00ff)); } void echo_uint16(uint16_t v) { char buf[CHAR_BUFF_SIZE]; sprintf(buf, "%hu", v); echo(buf); } void echo_int32(int32_t v) { char buf[CHAR_BUFF_SIZE]; sprintf(buf, "%ld", v); echo(buf); } // void echo_bool_label(char* label, uint8_t b) { // echo(label); // if(b) // echo("ON"); // else // echo("off"); // }