各位专家好!
我在EDMA程序中将源缓冲区定义为Uint8 srcBuff[512],两个目的缓冲区定义为Uint8 dstBuff1[256],Uint8 dstBuff2[256],并按如下方式初始化,
for (loopIndex = 0; loopIndex < 512; loopIndex++)
{
srcBuff[loopIndex] = loopIndex;
}
for(loopIndex1=0;loopIndex1<256;loopIndex1++)
{
dstBuff1[loopIndex1] = 0;
dstBuff2[loopIndex1] = 0;
}
程序运行后在Expression里观察到srcBuff里的数据从srcBuff[0]到srcBuff[255]依次为0到255,但是从srcBuff[256]开始数值又从0开始递增,照这样看好像虽然srcBuff的初始化数据应该是srcBuff[0]到srcBuff[511]依次为0到511,但实际上最大的好像只能取到255,请问是什么原因呢?怎么样修改才能保证srcBuff里的数据成为设想的那样?谢谢!
Zhan Xiang:
char 的变量最大只有255,你要使用大于255的值,建议使用short int 或 int型。