- UID
- 805027
- 性别
- 男
|
各位好,
我现在遇到个问题,想向你请教下,不知道你有没有遇到过。
问题出现在单片机从片外存储器读取数据时,我要求读取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,不知各位有什么看法? |
|