每组数据显示的三个数分别是X轴、Y轴、Z轴加速度。 之前这个模块的加速度是以16进制输出的,为了更直观我把加速度改成了字符输出。
一开始我犯了一个很低级的错误,把16进制转换成了3位的十进制数。结果出现下图乱码。
改成4位后显示正常。。。。
十六进制数改成字符形式输出用下述式子:
SBUF=a/1000 + ‘0’;
SBUF=a%1000/100 + ‘0’;
SBUF=a%1000%100/10 + ‘0’;
SBUF=a%1000%100%10 + ‘0’;
这样上位机串口会收到一个4位字符形式十进制数字。
或者
SBUF=a/1000 + 0x30;
SBUF=a%1000/100 + 0x30;
SBUF=a%1000%100/10 + 0x30;
SBUF=a%1000%100%10 + 0x30;