首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助:片外存储器数据读取问题

求助:片外存储器数据读取问题

各位好,
     我现在遇到个问题,想向你请教下,不知道你有没有遇到过。
     问题出现在单片机从片外存储器读取数据时,我要求读取2个字节,可参数2传递到函数内时变成了1,结果少读一个字节。
    问题 程序段如下:
。。。
  SPIAddr = TQYMMAP;                           //数据存放的地址
  SPIMemReadnBytes((byte *)&TmpDat[0], SPIAddr, 2); //从该地址读取2个字节放入TmpDat[0],
  WordReverse((byte*)&TmpDat[0], 2);
。。。
  我跟踪调试进入函数“void SPIMemReadnBytes(byte *dat, word addr, byte n)”,发现到这里n变成了1;
而改成:
   byte n=2;
   SPIMemReadnBytes((byte *)&TmpDat[0], SPIAddr, n);
就正常了。

可整个程序里有很多次直接使用都没有问题,就这一处不行,但我不直接写2,写4,传递过去还是4,不知各位有什么看法?
我会不会和编译环境有关系?语法上解释不了了
如果要提高电脑速度应该清理一下硬盘还是买张内存条增加内存。如果不买内存条应该如何提高内存空间?
引用:应该不是这个问题,之前一直都很正常。而且偶尔还能够正常读取。这么肯定?不试怎么知道?
返回列表