2026.5.12 经验分享会
2026年5月12日下午,上海实邦电子科技有限公司开展了一次经验交流会,由宋工和曾工一起分享了他们在工作中积累的一些经验。
首先是宋工分享了----使用AI进行代码开发
1、模型选择
现在各种模型很多,国内的deepseek、千问、GLM等,国外的GPT、gemini,claude等。目前使用下来感觉体验最好的claude opus 4.6。
2、模型接入方法
由于claude对国内用户不太友好,不仅需要科学上网,而且还容易被封号,订阅也贵。以下提供两种方式:
方式一、国内API中转站
优点:相对正版订阅更便宜;不需要科学上网.
缺点:质量参差不齐,很多中转站用其他模型冒充、由于对国内的封禁很多都不太稳定
费用:从1RMB<->1-20$额度不等,重度使用一天大概需要100$额度
方式二、vscode ,windsurf等订阅
优点:模型多可以根据需求选择多种不同模型,稳定,快
缺点:每日、每周、每月限额,
花费:以前github copliot以及其他很多code助手计费方式为按次方式,可以实现消耗一次额度维持一个对话无限消耗token,现在均改为按token计费后这个漏洞无法利用了。现找到的暂时能稳定使用的方式从淘宝、闲鱼买windsurf pro账号,每个账号3-6元,可用两周,额度不够可以多账号切换。
曾工分享了----USBHost 主机通讯设计
基于STM32 平台+STM32CUDEMX 工具,介绍一下如何让STM32芯片作为USB 主机具有和 CH340 芯片通信的功能。USB有主从机之分,CH340 转串口芯片在这里是从机。CH340 作为常用 USB 转串口芯片,属于非标准虚拟串口(VCP)设备,标准 STM32 USBH_CDC 驱动无法直接枚举。通过修改USB_CDC 驱动配置,让USB Host 能正常枚举、收发CH340 串口数据,然后达到与CH340 通讯的效果,整体实现 USB 通讯与工作适用于工控、数据采集等嵌入式场景。
2 CH340 芯片与 USB 通讯原理
2.1 CH340 特性
CH340 是 USB 转串口芯片,本质为非标准 USB CDC 设备,通讯方式为虚拟串口(VCP),支持波特率、数据位、停止位、校验位灵活配置。Windows 系统自带驱动可兼容其厂商自定义配置,而 STM32 原生 USBH 驱动仅识别标准 CDC,需修改驱动完成适配。
2.2 USB结构与数据流约束
USB采用严格的单主机、多设备星型拓扑。整个系统中 仅存在一个物理主机 (如PC的USB控制器),其余所有节点均为设备(Device)或集线器(Hub)。数据传输均由主机发起,设备无权主动发送数据 。例如,在实现USB鼠标时,设备内部的X/Y位移寄存器可能已更新,但主机不发出IN令牌(IN Token),设备绝不能将新坐标发往总线。
主机通过周期性轮询(Polling)获取设备状态,设备仅在收到对应端点(Endpoint)的IN请求后,才将预存于端点缓冲区的数据提交到主机。
USB规范规定,主机端在USB端口D+和D−数据线上分别连接15 k电阻下拉到地(GND)。设备端则根据自身支持的速度,在D+或D−线上连接一个1.5 k上拉电阻至3.3V
3 USB 完整枚举流程
USB 主机(STM32)检测到设备插入后,USB 主机(STM32)在设备端插入后读取设备信息、匹配协议、分配地址、配置参数的过程
设备插入检测:D+/D - 电平变化触发硬件接入事件,主机复位 USB 设备。重置USB设备,将其置于默认状态。重置操作是通过发送一个特殊的复位信号给USB设备的,这会导致设备进入地址状态0。
获取设备描述符:主机向地址 0 的端点 0 发送数据,发送一个获取设备描述符的标准请求到设备。设备响应此请求,发送其设备描述符给主机控制器。设备描述符包含了制造商ID(VID)、产品ID(PID)、设备版本号等信息。如果确认无误就会向设备返回一个确认数据包(ACK)
设置设备地址:主机再次复位设备,进入地址设置阶段。主机向地址 0 的端点 0 发送设置地址请求数据包,新的设备地址就包含在这个数据包中,因此没有数据过程。设备进入状态过程,等待主机请求状态返回,收到以后设备就会向主机发送一个 0 字节状态数据包,表明设备已经设置好地址了,主机收到这个 0 字节状态数据包以后会返回一个确认包(ACK)。设备收到主机发送的 ACK 包以后就会使用这个新的设备地址,至此设备就得到了一个唯一的地址。
主机控制器为设备分配一个唯一的地址(1-127之间的值,因为0已经被用于默认地址)。通过发送一个设置地址的标准请求来告诉设备其新地址。
获取配置描述符(3次):主机向新的设备地址端点 0 发送请求设备描述符数据包,使用新的设备地址,主机控制器发送一个获取配置描述符的请求。设备响应此请求,发送其配置描述符。配置描述符包含了接口、端点和其他设备特性的详细信息,这一次主机要获取整个设备描述符,一共是 18 个字节,首次通讯只能按照最小字节8字节(传输设备端点0支持最大包长未知)。
设置配置:主机控制器选择一个配置(通常是设备支持的第一个配置),并通过发送一个设置配置的标准请求来告诉设备。设备根据请求配置其硬件和软件。控制器可以发送请求获取接口和端点描述符用来配置更详细的信息。
3 STM32 USBHost 驱动修改方案
时钟配置:USB 时钟必须配置为48MHz,若配置为其他值,将无法识别设备描述符,导致枚举失败。(低速low-speed 传输速率 1.5Mbps / 全速full-speed 传输速率 12Mbps)
- 上一篇:没有啦
- 下一篇:2026.4.14 经验分享会 2026/4/16
