【捷研芯MA10评估板试用体验】4 数据流校验函数

  • 信息
  • 字符串
  • 小伙伴
  • 数据流
  • 评估
  • xukejing
  • LV5工程师
  • |      2017-06-21 19:39:10
  • 浏览量 904
  • 回复:0
在上一节里,串口数据流已经放进comdata字符串里了。 小伙伴们是不是已经迫不及待地要把角度信息读出来了 慢着! 先校验一下啊。如果收到的是一串错误数据,那可就坑爹了! 我们来看一下串口协议 首先,我们来做一下数据格式校验。字符串的第一位和第二位应该分别是16进制的5541,且字符串长度应该是63 如果不是的话,输出一个错误代码,错误代码名字我已经想好了,就叫01吧。
else

	{

		Serial.println("err code 01");

		return false;

	}	
01”不是读“零一”,而是“洞幺” 若是第一步校验通过了,再做第二步校验,叫“字节和”校验。 如果第二步校验没通过,输出一个错误代码,错误代码名字我已经想好了, 就叫07吧。
else

		{

			Serial.println("err code 07");

			return false;

		}
07”不是读“零七”,而是“洞拐” 下面,我们来写一下校验函数吧,函数类型为bool型,校验通过返回“true”。
bool ma10_serial_verif(void)

{

	//Serial.println(comdata1);

	if (comdata1 == 0X55 && comdata1 == 0X41 && comdata1.length() == 63)

	{

		char ver1=0;

		for (i = 0; i < 63; i++)

		{

			buff1 = comdata1;

			if(i<62)

			ver1 += comdata1;

		}

		if (ver1 == comdata1)

			return true;

		else

		{

			Serial.println("err code 07");

			return false;

		}

	}

	else

	{

		Serial.println("err code 01");

		return false;

	}	

}
如果校验没通过的话,请大家自由发挥。。。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子