野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12417|回复: 5

【教程】快速修改 USB Device 设备端代码指导(将U盘例子改成打印机)

[复制链接]
发表于 2019-12-10 22:01:33 | 显示全部楼层 |阅读模式
本帖最后由 abcrazy 于 2019-12-10 22:03 编辑

本教程只提示重要修改代码的地方,其他设备也可仿照修改。
以下内容为将 cubeMX U 盘的例子修改成打印机,可收发内容,但不实现具体类细节。
作者已提前抓包打印机插入电脑后 setup 过程具体发送哪些内容,修改后变成打印机。

一、cubeMX 设置
01.png

02.png

03.png

04.png

05.png

06.png

07.png

08.png

09.png

10.png

11.png







二、修改描述符内容

12.png

13.png

14.png

15.png

16.png

17.png

18.png

19.png

20.png

21.png

22.png

23.png



回复

使用道具 举报

 楼主| 发表于 2019-12-10 22:04:00 | 显示全部楼层
本帖最后由 abcrazy 于 2019-12-11 21:06 编辑

三、打印日志显示 SETUP 过程
前面只打印显示收到电脑的内容,下面显示收和发的内容:

24.png

25.png

26.png


除了收发数据,还有一些细节,你也应该要知道,例如,它什么时候重置,电脑设置地址前会不会重置一次呢?

27.png

28.png
四、设置 BULK IN 和 BULK OUT 端点

29.png

30.png

31.png

32.png

34.png

33.png

至此,修改代码的教程结束了,因为是快速修改,有很多细节自己慢慢去摸索。
特别是初始化,官方喜欢用结构体函数指针作为回调函数,很多函数用查找工具不能直接找到想要的函数,需要仔细分析。

最后,附上源码。
STM32F1模拟USB打印机TSC244.zip (5.4 MB, 下载次数: 23)

可以自己下载 TSC 244 打印机驱动测试,因为这个打印机属性里有工具可以直接与设备通讯,很方便。

源码为 IAR 编译环境,我也想用 KEIL,可是它老是出错,连 i++ 这么简单的功能都错。
想要对比 KEIL 和 IAR 的朋友可以下载我错误的源码测试,在另一个帖子:
http://www.firebbs.cn/forum.php?mod=viewthread&tid=28497















回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 22:04:23 | 显示全部楼层
本帖最后由 abcrazy 于 2019-12-11 20:50 编辑

USB 学习资料
USB培训_Part1 协议.pdf (2.97 MB, 下载次数: 19)
USB培训_Part2 USB IP及其库的使用 .pdf (2.74 MB, 下载次数: 17)
USB培训_Part3 USB OTG IP及其库的使用.pdf (1.44 MB, 下载次数: 16)

2016年USBUSB初级培训_Part1_基本协议介绍.pdf (3.85 MB, 下载次数: 18)
2016年USBUSB初级培训_Part2_STM32_USB资源一览.pdf (455.77 KB, 下载次数: 22)
2016年USBUSB初级培训_Part3_A_USB_IP介绍_Cube库鼠标设备例程介绍.pdf (1.95 MB, 下载次数: 21)
2016年USBUSB初级培训_Part4_A_OTG_IP介绍_Cube库鼠标主机例程介绍.pdf (2.98 MB, 下载次数: 19)
2016年USBUSB初级培训_Part5_Hands_On.pdf (378.45 KB, 下载次数: 20)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-11 20:51:42 | 显示全部楼层
发的帖子都没人顶呢
回复 支持 反对

使用道具 举报

发表于 2020-2-5 21:32:15 | 显示全部楼层
抢占沙发,果断收藏
回复 支持 反对

使用道具 举报

发表于 2020-3-4 06:39:51 | 显示全部楼层
好东西,感谢分享!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-24 04:01 , Processed in 0.042875 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表