使用375模块时,读取整扇区时是正确的(用CMD_FileRead时显示是正确的),但用CMD_FileReadLast时显示就是乱码,为什么呢???
CMD_FileReadLast是用来读取文件最后不足一个扇区的数据的,你可以先查询文件的总长度,根据总长度,先用CMD_FileRead将前面整数个扇区读取出来,再用CMD_FileReadLast来读取最后不足一个扇区的零头数据。
这个我知道,我是说我用CMD_FileReadLast时有乱码,不知道是为什么? 具体程序是这样的: i = ExecCommandBuf( CMD_FileRead, 1, &DATA_BUF ); /* 从文件读取数据 */ mStopIfError( i ); i = ExecCommand( CMD_FileReadLast, 1 ); mStopIfError( i ); 请工程师指点~~~
改为:i = ExecCommandBuf( CMD_FileReadLast, 0, &DATA_BUF ); 按你那么写就根本没把数据读到缓冲区DATA_BUF中。
OK了, 非常感谢luoye268268
i = ExecCommandBuf( CMD_FileReadLast, 0, &DATA_BUF ); 为什么不是i = ExecCommandBuf( CMD_FileReadLast, 0, DATA_BUF );这个啊?
上面那个给出的才是缓冲区的首地址。
数组名不就是首地址吗?
可以用两种方式表示:&DATA_BUF[0]或者DATA_BUF都可以,主要看函数中是怎么定义的
哦,是的! 不好意思,弄错了! 谢谢
哦,这样啊,明白了。