完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
通过CH559连接USB打印机,如果打印机带有串口,通过USB口操作标签打印机,正常;如果打印机本身不带串口只有USB口,无法操作标签打印机通过调试发现
UINT8 USBHostTransact( UINT8 endp_pid, UINT8 tog, UINT16 timeout ) 里面 if ( U_TOG_OK ) { return( ERR_SUCCESS ); } U_TOG_OK 的问题 sbit U_TOG_OK = USB_INT_FG^6; // ReadOnly: indicate current USB transfer toggle is OK 为什么559 只能操作带有串口的usb标签打印机 ,而只有USB口的标签打印机却不行 |
|
相关推荐
3个回答
|
|
这个toggle是USB数据包的一个简单的校验机制,在物理层中是按照一定的逻辑进行DATA0和DATA1的交换,这个是和传输过程紧密相关的。
打印机带串口和不带串口,那显然的就是不同的打印机,可能在USB通讯的整个过程中会有不同,这时候可以对USB底层进行抓包,看一下DATAX到底是多少,定位一下是设备传输错误还是芯片判断错误。还有我们在初始化USB的时候通常会打开AUTO_TOGGLE同步标志自动翻转功能,检查一下发送接收控制寄存器的自动翻转功能是否打开。 |
|
|
|
|
|
|
|
这个是打印机的静态的一个描述符信息,我们需要关注的是USB枚举、传输过程中的动态的东西。简单的可以在电脑端用bushound软件看一下通讯过程,对比主机代码中是否有缺少的操作步骤(电脑软件抓包只具有参考意义,同时也无法排除单片机操作代码问题),最好是能够从硬件层面抓取电脑操作打印机的过程,和单片机操作的过程对比,即可找出问题
|
|
|
|
只有小组成员才能发言,加入小组>>
531 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2907 浏览 2 评论
2402 浏览 1 评论
875浏览 2评论
692浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
423浏览 1评论
535浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
819浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 09:47 , Processed in 1.203827 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号