标签:r1 VoFa 记录 float char testdataarray testdataarraytemp 软件 250
1)软件版本1.3.10
2)三种通信协议说明
RawData: 最基本的通信协议,接收到什么,便打印什么,不做数据的解析处理,仅用于查看字节流数据。
JustFloat: 本协议是小端浮点数组形式的字节流协议,纯十六进制浮点传输,节省带宽。此协议非常适合用在通道数量多、发送频率高的时候。
FireWater: 本协议是CSV风格的字符串流,直观简洁,编程像printf简单。但由于字符串解析消耗更多的运算资源(无论在上位机还是下位机),建议仅在通道数量不多、发送频率不高的时候使用。
3)本次测试使用的JustFloat:协议,串口通信发送数据测试,使用STM32测试
注意通信协议格式。float型需要转化为char型发送。
void float_char(float f,unsigned char *s)
{
union change
{
float d;
unsigned char dat[4];
}r1;
r1.d = f;
*s = r1.dat[0];
*(s+1) = r1.dat[1];
*(s+2) = r1.dat[2];
*(s+3) = r1.dat[3];
}
float testsindatau1 = 0;
float testsindatau2 = 0;
float testsindatau3 = 0;
float testsindatau4 = 0;
float testsindatau5 = 0;
//²âÊÔVOFA+´®¿Ú·¢ËÍ
u8 testdataarraytemp[4] = {0};
u8 testdataarray[24] = {0};
testsindatau1 += 1;
testsindatau2 += 2;
testsindatau3 += 3;
testsindatau4 += 4;
testsindatau5 += 5;
if(testsindatau1 > 250)
{
testsindatau1 = 0;
}
if(testsindatau2 > 250)
{
testsindatau2 = 0;
}
if(testsindatau3 > 250)
{
testsindatau3 = 0;
}
if(testsindatau4 > 250)
{
testsindatau4 = 0;
}
if(testsindatau5 > 250)
{
testsindatau5 = 0;
}
float_char(testsindatau1,testdataarraytemp);
testdataarray[0] = testdataarraytemp[0];
testdataarray[1] = testdataarraytemp[1];
testdataarray[2] = testdataarraytemp[2];
testdataarray[3] = testdataarraytemp[3];
float_char(testsindatau2,testdataarraytemp);
testdataarray[4] = testdataarraytemp[0];
testdataarray[5] = testdataarraytemp[1];
testdataarray[6] = testdataarraytemp[2];
testdataarray[7] = testdataarraytemp[3];
float_char(testsindatau3,testdataarraytemp);
testdataarray[8] = testdataarraytemp[0];
testdataarray[9] = testdataarraytemp[1];
testdataarray[10] = testdataarraytemp[2];
testdataarray[11] = testdataarraytemp[3];
float_char(testsindatau4,testdataarraytemp);
testdataarray[12] = testdataarraytemp[0];
testdataarray[13] = testdataarraytemp[1];
testdataarray[14] = testdataarraytemp[2];
testdataarray[15] = testdataarraytemp[3];
float_char(testsindatau5,testdataarraytemp);
testdataarray[16] = testdataarraytemp[0];
testdataarray[17] = testdataarraytemp[1];
testdataarray[18] = testdataarraytemp[2];
testdataarray[19] = testdataarraytemp[3];
testdataarray[20] = 0;
testdataarray[21] = 0;
testdataarray[22] = 0x80;
testdataarray[23] = 0x7f;
My_USARTSendData(testdataarray,24);
4)使用体验
感觉并没有特别的好用,发送的数据范围如果相差比较大的话,显示不怎么友好,可能使用Jscope习惯了,仅是个人意见。
标签:r1,VoFa,记录,float,char,testdataarray,testdataarraytemp,软件,250 来源: https://blog.csdn.net/feiyingzaishi/article/details/118051687
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。