先贴上程序
unsigned char i;
for(i=0;i<6;i++)
{
unsigned char j;
j= i+6*(rxno-1);
ClusterData[j] = RxBuf[i];
}
问题描述:
断点设置在j= i+6*(rxno-1);此句上
rxno=3;
i=1;
执行完j= i+6*(rxno-1);从watch中看j=45,按理说应该是13,差了32
执行完ClusterData[j] = RxBuf[i];后j变成了需要的13
然后i=2
执行完j= i+6*(rxno-1);从watch中看j=46,按理说应该是14,差了32
执行完ClusterData[j] = RxBuf[i];后j变成了需要的14
依次类推。。。
最后无奈只有把语句改成j= i+6*(rxno-1)-32才达到目的
但还是想找到原因。。。哪里出了问题
|