100元辛苦费能不能帮忙看看下面的STM32 USB程序为什么不能通用?
原贴子:https://www.amobbs.com/thread-5761587-1-1.html就是我在STM32F103RBT6上写的USB程序在STM32F103C8T6上没法用USB上位机连接通。
我以前的时候都是直接通用的,更多的时候单片机型号都没有改,直接修改就行的
然后我用很早以前的USB代码写入后看了,是可以通用的,应该是代码中的问题。附件是相关文件。
本帖最后由 qwe2231695 于 2022-2-3 00:55 编辑
判断全/低速设备是D+/D- 上在连接时的电压要到3V,,
一般USB HUB上D+/D- 都有15K下拉电阻,所以在3.3V设备上得用1.5k上拉,5V的话上拉,得用10K上拉。
另外上拉要靠近座子,不能在限流电阻后面。 找个开发板对比验证下 换板子吧,在我手头 Arduino 版本的 F103C8 上直接就可以运行。
操作步骤:
1. 解包 1L 位置压缩包,上位机有 exe 可直接运行,下位机使用 MDK 重编译成 HEX(附件);
2. 使用串口烧录入 F103C8,断电切换回 APP 模式;
3. 插入 Win10x64 系统 USB,系统提示 STM32_HIDUSB 安装成功,之后上位机可以成功打开/关闭设备(附图);
4. 使用 BusHound 监控,找到了一个 barcode reader 设备,可以检测到打开瞬间的 USB 通信(附图).
附上图片:
打开关闭设备:
BusHound:
用于运行的 F103C8,山寨板没原理图,目测就是常见 F103 连法:
最后附上我编译的 HEX 文件供测试,以防 LZ 编译器有毛病:
----------------------------------------------------------------------------
建议:
a. 检查 LZ 板子是否存在虚焊/短路,尤其是 F103 管脚、USB 相关走线;
b. 测试我附件中上传的 HEX 是否也异常;
c. 换板子重试 t3486784401 发表于 2022-2-3 12:42
换板子吧,在我手头 Arduino 版本的 F103C8 上直接就可以运行。
操作步骤:
奇怪了,你的HEX还是不行,开发板本身的USB是可以的,用其他的程序使用USB可以通信,就这个不行
会不会是买到假的STM32的原因。 armos 发表于 2022-2-4 10:10
奇怪了,你的HEX还是不行,开发板本身的USB是可以的,用其他的程序使用USB可以通信,就这个不行
会不会是 ...
BluePill 因为用量大的原因,山寨片子比较多。
目测是时钟初始化有点问题。建议在现有程序里加个闪灯代码自检下,看是否在哪里死循环了 t3486784401 发表于 2022-2-4 10:22
BluePill 因为用量大的原因,山寨片子比较多。
目测是时钟初始化有点问题。建议在现有程序里加个闪灯代 ...
对的我就是那种最小系统板 我试一下 t3486784401 发表于 2022-2-4 10:22
BluePill 因为用量大的原因,山寨片子比较多。
目测是时钟初始化有点问题。建议在现有程序里加个闪灯代 ...
我重新做了一版 用STM32F103RBT6手里还有十几片STM32涨价前的片子 我试一下 看下时钟系统的配置。 USB 要48M的PLL 时钟。
页:
[1]