[求助]U盘读写问题

/* 执行命令 */ unsigned ExecCommand(unsigned char cmd, unsigned char len) 从这个函数描述来看,其传递参数(输入参数和返回参数)都在CMD_PARAM结构中的mCmdParam.Other.mBuffer[].(不知道对不对) 也就是说要每次要执行带参数的命令,都要预先把参数写进mCmdParam.Other.mBuffer[]. 而在演示程序中,有以下更改模块通信波特率的语句: -------------------------------------------------------------------- mCmdParam.BaudRate.mDivisor = 18432000/32/9600; /* 输入参数: 通讯波特率除数,假定模块的晶体X2的频率为18.432MHz */ i = ExecCommand( CMD_BaudRate, 1 ); /* 设置串口通讯波特率 */ ---------------------------------------------------------------------- 是不是应该写成:

-------------------------------------------------------------------- mCmdParam.Other.mBuffer[0]= 18432000/32/9600; /* 输入参数: 通讯波特率除数,假定模块的晶体X2的频率为18.432MHz */ i = ExecCommand( CMD_BaudRate, 1 ); /* 设置串口通讯波特率 */ ----------------------------------------------------------------------

UploadImages/201132117504384.rar

这个是C语言结构体和共用体的问题,你的理解也是对的,只是上面一种方式更直观,并且也定义了变量的类型。只能说缓冲区的起始地址是相同的。


理解,非常感谢。


只有登录才能回复,可以选择微信账号登录