stc单片机,程序主要部分注释如下
BYTE configstr[] = {0x23,0xFE,0x33,0x44,0xFF,0x02,0x03,0x01,0x04,0x01,0x01,0x02,0x05,0x0F,0x02,0x01};
while(1)
{
while(!UARTSeflag);//等待接收字符串数据完成
if(recvs[0] == 0x23 && recvs[1] == 0xA0)//如果接收的字符串数据是0x23 0xA0
{
SendString(configstr); //
UARTCount = 0;
memset(recvs,0,NUMBERS);//清除缓存数组
}
}
如上图所示,我发送23 A0,串口助手除了接收到configstr外还有几个多余的字节,这是为什么呢?我的理解是数据存储在一段连续的内存,发送的时候把后面的内容也发送了。那应该怎样定义缓存数组?也有可能是字符串通信函数有问题。请各位指点一下! |