SUPER_CRJ 发表于 2023-11-18 13:21:53

同样的USB代码STM32F412RET6不行。原来是F411RET6

本帖最后由 SUPER_CRJ 于 2023-11-18 14:31 编辑

原来使用了:
ST32MF411RET6写了一个USB_HID的程序(还包括SPI,I2C,定时器,彩屏),跑的正常。
最后量产的时候准备换:STM32F412RET6。USB死活不工作,不识别,其他外设(SPI,I2C,定时器,彩屏都正常)。

关键的问题是:STM32F412我查看手册:封装功能一样的,只会更多,内部功能,全部都比F411更多,按照道理是:F411能跑的,F412肯定可以。
我仔细检测了引脚配置,USB配置,手册,都没有发现问题。

所以问题是:程序不变,硬件不变(换了几套硬件。),只是换了单片机,为什么原来可以在STM32F411RET6能正常运行的USB程序,STM32F412不行。

下面是原理图关于USB的部分(我怀疑是PA9没有拉到VBUS_5V的原因,但是STM32F411我也没拉到5V啊,而且我现在硬件没有了。因为最后量产换回来了。)


SUPER_CRJ 发表于 2023-11-18 13:24:30

之前准备量产换STM32F412的,芯片都买回来了。结果发现不行,最终300PCS的STM32F412现在落在手上了,下个项目正好准备用,但是这个问题还没有解决。

Himem 发表于 2023-11-18 13:41:10

本帖最后由 Himem 于 2023-11-18 13:47 编辑

目前是提示未知设备还是完全无反应

没有开vbus sensing用不到pa9应该

SUPER_CRJ 发表于 2023-11-18 13:53:47

Himem 发表于 2023-11-18 13:41
目前是提示未知设备还是完全无反应

没有开vbus sensing用不到pa9应该
(引用自3楼)

完全没有反应!!

1a2b3c 发表于 2023-11-18 15:18:37

为啥不挂仿真器跑一下大概的问题?

SUPER_CRJ 发表于 2023-11-18 16:19:51

1a2b3c 发表于 2023-11-18 15:18
为啥不挂仿真器跑一下大概的问题?
(引用自5楼)

挂了,USB根本不进中断。USB也不初始化,配置也都一样。

1a2b3c 发表于 2023-11-18 16:30:43

SUPER_CRJ 发表于 2023-11-18 16:19
挂了,USB根本不进中断。USB也不初始化,配置也都一样。
(引用自6楼)

不是可以看各种寄存器各种参数嘛,总有个地方不对啊
算了,我程序也是半罐水,不好评论哈哈?

SUPER_CRJ 发表于 2023-11-18 16:42:02

1a2b3c 发表于 2023-11-18 16:30
不是可以看各种寄存器各种参数嘛,总有个地方不对啊
算了,我程序也是半罐水,不好评论哈哈? ...
(引用自7楼)

就是没找到不对的地方,过段时间和重新打样了再看看。当时可能时间比较紧,没太仔细对比。

TINXPST 发表于 2023-11-18 16:51:40

F411和F412差别在哪里呢?

矩阵时间 发表于 2023-11-18 16:56:29

412 功能更多的话,可能出现:引脚映射有变动(或多了一两处的使能标识),功能的时钟使能位有变动

qwe2231695 发表于 2023-11-19 00:48:40

需要拿硬件交叉测试才能确定,

陆小凤之北京 发表于 2023-11-20 10:50:45

仔细看下DATASHEET比较有没有什么异同,只用过411,记得411比较特殊一些。

N_EMBED 发表于 2023-11-20 16:29:24

LZ,整一份HID的基本功能代码,我可以帮忙测一下

SUPER_CRJ 发表于 2023-11-22 16:55:04

N_EMBED 发表于 2023-11-20 16:29
LZ,整一份HID的基本功能代码,我可以帮忙测一下
(引用自13楼)

谢谢,我发您HEX文件可以吗?我用:embeddedStudio开发的。这个工程文件现在耦合比较大,我刚看了,不好拆开做出独立的。

N_EMBED 发表于 2023-11-22 22:20:32

烧录完成。


确实没有枚举成功,设备描述符请求失败。


USB分析仪只抓到RESET BEGIN。




N_EMBED 发表于 2023-11-23 00:04:33

用CubeMX生成了分别按F411RE和F412RE生成HID的代码,F411RE的代码在F412RE芯片运行确实不能枚举成功,
猜测可能是内部时钟分频有区别,上传F412RE的HID测试代码,使用CubeIDE编译环境,编译后烧录到F412RE能正常识别。
可以分析看看这份代码和你的有什么不同。


页: [1]
查看完整版本: 同样的USB代码STM32F412RET6不行。原来是F411RET6