如题,使用的是STM32ZF103+CH374T。执行CH374FileEnumer()的时候,strcpy( (char *)mCmdParam.Enumer.mPathName, "/*" )通过串口送出的数据时乱码,而且文件名不全。查看执行CH374FileEnumer()之后mCmdParam.Enumer.mPathName的16进制代码,也只有4到5个字节,我所有的文件名都是5个汉字以上的。不过后面的文件属性显示的对的。我在U盘里添加了AB.TXT后,执行 strcpy( (char *)mCmdParam.Enumer.mPathName, "/AB.TXT" ); i = CH374FileOpen(); i的返回值一直都是0X42。 重新执行 strcpy( (char *)mCmdParam.Enumer.mPathName, "\\AB.TXT" ); i = CH374FileOpen(); 结果还是一样。
查看: 1898
回复: 6
[求助]CH374FileEnumer()读取文件不全,而且是乱码。CH374FileOpen()找不到文件名。
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU
请使用8+3的文件名,不要用汉字,否则最后看到的肯定是乱码
需要看下你的程序。枚举的时候需要枚举序号的。还有打开文件的时候,文件里面是否有此文件?
打开文件的时候,肯定有文件名的。我就是害怕中文乱码,特意建了一个英文的文件。
你看下在你复制好到mCmdParam.Enumer.mPathName缓冲区你复制好之后的数据是什么?好像这个语句有点问题,建议你去查下这个里面的16进制的数据。
查了一下strcpy( (char *)mCmdParam.Enumer.mPathName, "/AB.TXT" ); 之后 mCmdParam.Enumer.mPathName里德16进制数据时正确的。
那就需要你去看下你在U盘新建的这个文件“AB.TXT”是否全部为大写字母。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录