ST意法半导体
直播中

三心四意

9年用户 828经验值
私信 关注
[问答]

请问STM32L1系列USB不带外接上拉电阻怎么用?

我在 STM32L151RE MCU 上使用 USB 端口,我必须在 DP 线上使用外部上拉电阻。但是,AN4879 文档说 STM32L1 系列在 USB DP 线上嵌入了上拉电阻。但是 DP 引脚不会在 USB 初始化后自动上拉,就像在 STM32F4 或 STM32L4 系列上一样。我在 151RE 和 152RC MCU 上试过,但什么也没有。此外,我试图手动上拉此引脚,DP 线上的电压为 3V,但如果插入 USB 连接器且设备无法识别,电压将降至 1V。在 STM32L15xxE 的勘误表中,没有关于该问题的任何信息。上拉PD线有什么问题?有人在 151 MCU 中使用 USB 吗?







回帖(1)

王艳红

2023-1-16 15:45:06
与其他在 USB 中集成上拉电阻的 STM32 系列不同,STM32L152 中的上拉不受 USB 外设(寄存器)控制,而是由 SYSCFG 控制。在参考手册中,您可以在 SYSCFG_PMC 寄存器中找到 USB_PU 位。
在 STM32CubeMX 存储库示例中,我可以看到定义,它控制上拉。如果缺少,请在您的项目中使用:
#define __HAL_SYSCFG_USBPULLUP_ENABLE() SET_BIT(SYSCFG->PMC, SYSCFG_PMC_USB_PU)
#define __HAL_SYSCFG_USBPULLUP_DISABLE() CLEAR_BIT(SYSCFG->PMC, SYSCFG_PMC_USB_PU)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分