|
楼主 |
发表于 2023-7-5 09:45:25
|
显示全部楼层
你好我遇到新问题了
void WIFI_list_process()
{
u8 sbufdata[100];
u8 subArray[MAX_SIZE];
int subArraysCount = 0; // 记录拆包后的数组数量
int startIndex = 0;
int subArrayIndex = 0;
int i,a;
int arraySize = 48;
int j=0;
u16 addresses[] = {0x4300, 0x4400,0x4500,0x5000,0x5100,0x5200,};
sys_read_vp(0x4D0,sbufdata,24);
for ( i = 0; i < arraySize; i++) {
if (sbufdata == 0x0a) {
if (subArrayIndex > 0) {
sys_write_vp(addresses[] , subArray, subArrayIndex);
j++;
// 清零数组
for (a = 0; a < subArrayIndex; a++) {
subArray[a] = 0;
}
subArrayIndex = 0;
}
} else {
subArray[subArrayIndex] = sbufdata;
subArrayIndex++;
}
}
// 处理最后一个分隔符之后的数据
if (subArrayIndex > 0) {
sys_write_vp(addresses[subArrayIndex - 1], subArray, subArrayIndex);
}
}
这是我的拆包代码,但是把新的数据写入新的地址的话只有前3个0x4300, 0x4400,0x4500有用,请问能不能看出是什么问题 |
|