单片机通过CH375读写U盘文件的问题解答

我有个问题请帮忙解答! 我在优盘模块上读文件没问题了,文件的内容是放在了DATA_BUF里了。 可是我用ch375b直接对文件时,也能输出文件,但是文件的内容是放在 FILE_DATA_BUF里吗?使用printf输出FILE_DATA_BUF时,怎么不能输出?啥都没有。 谢谢!


文件内容是否放在FILE_DATA_BUF中,取决于程序中有没有指定它为文件缓冲区 如果LIB_CFG_FILE_IO不为“0”,调用CH375FileRead的话,数据会被存放在FILE_DATA_BUF 无论FILE_DATA_BUF中是否有文件数据,printf都应该有输出,只是数据不对


你好你好! 现在 #define LIB_CFG_FILE_IO 1 但FILE_DATA_BUF中没有文件数据,我需要对文件的数据进行处理,但这些数据藏哪里了? 在串口调试器上也看到了数据,是从哪里输出的?谢谢!


程序中有没有去读文件呢? 把的程序贴出来看看吧


谢谢你的提示,现在可以了,文件是存在FILE_DATA_BUF中。


我又有一个新的问题请帮忙回答,先谢谢了! 我要在一个板子上使用两个CH375B芯片,一个用来读USB 键盘,一个用来读U盘,都使用总线方式连接, 问题:1 这种方式可行吗? 问题:2 在程序上有两个头文件,CH375INC.H是读USB 键盘使用的, CH375HF6.H用来读U盘使用的, 这两个头文件有些是内容相同的,能放在一起用吗?


(1)方案是可行的,只有单片机硬件资源足够 (2)CH375HF6.H包含CH375INC.H,只要用CH375HF6.H,但是被多个C文件包含时,除了一个可以直接包含外,其他包含之前必须定义一个宏:#define CH375_NO_CODE 1


好东西,谢谢~~~~


很好,很好~~~~~~~~~~


现在我又做了一个方案,是一个CH375B芯片读USB键盘的,一个U盘模块读U盘,分别试验都没有问题。当我把两个程序放在一起做到一个程序里时编译不能通过,不良的信息是如下: Buid target "Target 1" linking...... ***WARNING L16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT:?PR?—SEND?CH375HMP ***ERROR L107:ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: —DATA—GROUP— LENGTH: 001EH Program Size:data=144.7 xdata=2647 code=3966 Target not created

请问这个error是什么原因,如何解决?谢谢指点! 我用的是89C55,ram 62256。


内部RAM溢出了


哦,先谢谢了!

那我该如何处理呢?内部RAM溢出了,是不是说内部的RAM不够用了?内部RAM应该有256字节的,从编译的结果看才用了144.7个,是不是还有的用? 只是idata变量和data变量分配不合理,谢谢再指点迷津!


  可以把一些变量或者数组定义到idata,或者xdata里面试试.


不错的,把一些变量定义到idata就可以了,谢谢了!


u盘的基本功能我已经可以操作了,没有时间深入,只是玩玩的 ,有时间再做,呵呵!


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