TI中文支持网
TI专业的中文技术问题搜集分享网站

pingpong缓冲区大小的问题

各位专家好! 

我在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型。

赞(0)
未经允许不得转载:TI中文支持网 » pingpong缓冲区大小的问题
分享到: 更多 (0)