This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

外扩RAM数据读写有问题

TMS320F2812通过数据地址总线访问外部的一个芯片,讲芯片地址映射在0x3000H~0x3600H。读取该地址内的数据时出现如下问题:

for循环里面读取的是一段地址里面的值,其中:地址0x3026的值为0xff6d,地址0x3027的值为0xff79。

因为这两个值有问题,所以后面又加了几条语句都是读这两个地址的值,单步调试(程序加载到RAM里面仿真的),结果如下:

0x3026的值为:0xff0b

0x3027的值为:0xff00.

芯片的地址数据地址线为8位的,所以高8位读出来都是ff.

请帮忙解释一下。

  • 你想问的是不是为什么两次读取的3026和3027地址里的数据不一样是吧?

    首先想跟您确认下,是不是只有这两个地址读取的数据不一样?有没有换成其他地址读取两次看看呢?个人认为只是这两个地址出现问题的概率不大,很有可能是是读写时序的问题。建议你看一下2812的数据手册,跟你所用片外芯片的数据手册,确认里面的时序是否符合要求。