CH554评测——CH554软件篇之USB主机测试失败
<div class='showpostmsg'>CH554最大的特色应该是在低成本的单片机中加入了USB控制器。之前有过CH554触摸键的调试经历,因此对厂家提供的USB例程不报太大希望。果然还是中招了计划是操作U盘读写,参考U_DISK目录下的EXAM1.发现很多问题。好多函数只有声明,没有定义,程序运行就跑飞。
CH554GetVer()
CH554DiskReady( )
CH554AnalyzeError()
.
.
.
.
.
排完一个雷,又出来一个雷,没完没了。明天要上班了,头有点晕,累了休息一下。后面在补吧:surrender:
此内容由EEWORLD论坛网友ltbytyn原创,如需转载或用于商业用途需征得作者同意并注明出处
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 本帖最后由 沁恒USB单片机 于 2017-10-9 09:00 编辑
你好,CH554的flash大小为16K用来读写U盘过小,不推荐读写U盘使用,CH554的USB HOST推荐用来操作鼠标键盘等USB设备的,如果需要读写U盘可用CH559,flash大小为64K。 这些函数都是文件系统库里面定义的,LIB文件有CH554UFI.LIB(memory model small)、CH554UFX.LIB(memory model large)、CH554UFR.LIB(read only,memory model small/large).
你应该是忘记添加文件系统库了,你加上文件系统LIB在重新跑一下代码。
注意添加USBHOST.C,并且开启包含“#include "CH554UFI.H”,代码第15行,或者直接把EXAM1下的hex文件烧进芯片进行演示。 楼上说的lib我都试过,不起作用。其实lib的源文件在资料包里面都能找到。看了源文件确认没有定义。 LIB是看不到源文件的的,只有外部函数声明,你可以加我的QQ 2542195643 ,把打印截图发我,我看看什么问题。 CH55X U盘操作,提供的文件包括
1、USBHOST.C(主要是设备枚举部分,控制传输部分);
2、CH55XXX.LIB(U盘文件系统处理,Bulkonly处理,SCSI处理等FAT文件系统的相关操作,不开源,提供外部函数声明,直接调用);
3、EXAMX(演示DEMO,main函数,打开,读,创建,写,修改文件属性,关闭文件等操作) 沁恒USB单片机 发表于 2017-10-9 08:52
你好,CH554的flash大小为16K用来读写U盘过小,不推荐读写U盘使用,CH554的USB HOST推荐用来操作鼠标键盘等 ...
CH554厂家有没有U盘读写的驱动?只有16K还可以,做个故障EXCL的表格记录还是没问题的。 SuiBianLiuLiu 发表于 2017-10-9 14:02
CH55X U盘操作,提供的文件包括
1、USBHOST.C(主要是设备枚举部分,控制传输部分);
2、CH55XXX.LIB(U盘 ...
1、lib文件和C源文件名字一致,因此我怀疑lib是由C编译出来的。
2、假如lib和同名的C没有关系,厂家能否给个说明文档啊,谁知道里面封装了什么函数啊。纯粹就是黑盒一个,在大的牛来了也没有脾气。
ltbytyn 发表于 2017-10-10 23:13
1、lib文件和C源文件名字一致,因此我怀疑lib是由C编译出来的。
2、假如lib和同名的C没有关系,厂家能 ...
只是名称相同而已,标明.C和LIB是配套使用的,.C文件里面只包含扇区读写,U盘插拔检测(物理检测),库初始化(扇区大小指定,缓冲区赋值等);
LIB还真不是你看到的.C编译而来的,而且LIB库源码不开放。
库函数其实在.H文件里面有头文件声明和功能说明的,你可以看看,如果觉得还有些不理解,建议去wch.cn下载374资料包,里面有CH374HF.PDF,看手册第6章(6.1,6.2,6.3)。
当然,你也可以拨打沁恒技术支持的电话,寻求支持和协助。如果想看库的源码,建议网上搜索FATFS,网上有开源。, 好的,非常感谢 CH554评测— by ltbytyn
https://bbs.eeworld.com.cn/thread-567991-1-1.html
ch554测评汇总贴:
汇总:CH554测评
https://bbs.eeworld.com.cn/thread-568476-1-1.html 最近一个项目打算使用此款芯片,看到楼主的测试,有点担心。 jj1989 发表于 2017-10-16 17:24
最近一个项目打算使用此款芯片,看到楼主的测试,有点担心。
此系列芯片都是大批量出货的,立创上,原厂都可以直接购买 是的,USB那个例子WINDOWS10上有问题。 damiaa 发表于 2017-10-18 09:32
是的,USB那个例子WINDOWS10上有问题。
你好,具体是哪个例子呢?我们一起看看什么问题。
本帖最后由 damiaa 于 2017-10-18 14:39 编辑
是从网站下的,USB 盘的那个 老是一闪一闪的。晚上我找到贴上来。 沁恒USB单片机 发表于 2017-10-9 08:52
你好,CH554的flash大小为16K用来读写U盘过小,不推荐读写U盘使用,CH554的USB HOST推荐用来操作鼠标键盘等 ...
能否提供一下U_DISK下2个例程HEX文件的完整工程文档。我这边尝试用工程包、lib里面的源文件搭建工程,提示好多错误。而且沁恒的单片机有这么一个问题就是遇到已声明但未定义的函数会马上复位。 程序访问非法地址,会软复位,芯片设计的时候就是这样的。我单独吧554资料包里面的U盘文件提出来发到附件了,工程本身没有问题,另外Keil编译出错,建议直接百度keil的错误提示,解决快捷又方便,而且可以知道原因。
damiaa 发表于 2017-10-18 14:35
是从网站下的,USB 盘的那个 老是一闪一闪的。晚上我找到贴上来。
一闪一闪是什么鬼?U盘的通讯指示灯闪?通讯的话,指示灯闪正常的呀,关键是要要看你用的哪个程序,功能是啥,有没有实现,有情况可以加Q聊,2542195643. jj1989 发表于 2017-10-16 17:24
最近一个项目打算使用此款芯片,看到楼主的测试,有点担心。
功能例子本身都是OK的,不然不可能放出去,现在测试大部分都是软件的问题,软件的问题非客观因素最多,不确定因素太多,作为参考太草率。
本身官网出去的例子,都是经过测试的,既要保证理解又要保证功能实现,所以啰嗦一点也难免,芯片本身功能上没有任何问题,可以放心使用。
如果开发的话,建议直接咨询厂家技术支持025-52638373,不建议论坛上解决,效率低而且不太方便,请知悉。’
页:
[1]
2