80 lines
1.4 KiB
C
80 lines
1.4 KiB
C
#include <xc.h>
|
|
#include <stdio.h>
|
|
|
|
#include <echo.h>
|
|
|
|
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");
|
|
// }
|