华秋商城
直播中

皮金燕

7年用户 177经验值
私信 关注
[问答]

请问单片机怎么控制USB外设?

      最近,想使用嵌入式系统开发板控制一个USB接口的打印机。最开始采取的方式是,将嵌入式系统的一组UART口通过WCH的CH340G转换成USB信号来把数据传输给打印机。结果打印机一直没反应,测量打印机接口威廉希尔官方网站 输出,也无电压波动。后来查了资料才明白,两个USB从设备之间是不能直接通信的,需要有USB Host来控制数据流才行的。USB通信协议是一种总线通信方式,所有的传输数据都需要通过USB Host控制器才能进行收发传输。好吧,之前想当然了,囧。。。。。。(不对之处,请轻拍~~)       接着上面说,所以要实现两个USB从设备之间的通信,那么势必需要USB Host的介入,也就是说,如果想要使嵌入式系统能够与USB从设备进行数据传输,进而进行控制的话,那么势必需要一块USB Host接口芯片了。
     我在网上也搜了一下,有那么几种USB Host芯片,但以前并未使用过,所以并不清楚是否好用,麻烦大家推荐个比较好使,能够快速实现设计功能的USB Host 芯片。。。
     另外,STM32F10x及以上版本的片子自带USB口,不知道能否直接通过加载USB协议栈并通过片上USB实现USB OTG功能呢,有这样用过的吗?  先谢谢了。;)

回帖(5)

吴萍

2019-10-18 10:35:54
支持Host模式u***模块的stm32是可以的
举报

丁滢

2019-10-18 10:46:47
主USB芯片不少,用起来都差不多,哪个好买用什么即可。用自带主USB的MCU当然也可以,自行比较性价比以及自己的软件编程能力进行方案选择吧。
举报

李月如

2019-10-18 11:03:25
不知道你是否清楚,单片机通过USB与打印机通信,通信协议如何?你要在单片机实现USB打印机类的协议才行啊。
举报

石璞璞

2019-10-18 11:21:10
驱动打印机,最好上嵌入式linux , 某些实时操作系统也有u*** host 打印机驱动。
例如freescale的单片机。

可能,通过u***还不如提高网络打印呢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分