STM32G070填坑(1)--默认下拉的4个引脚

STM32G070填坑(1)–默认下拉的4个引脚

意法半导体新系列STM32微控制器STM32G0系列,基于Arm Cortex-M0 +内核,在严格的功率预算内提供出色的性能。
新系列意味着资料少,网上分享的调试经验也少(目前是几乎没有);不像STM32F系列铺天盖地的资料和各种调试经验。
最近因项目需要进行STM32G070的开发调试,记录下遇到的一些问题。

PD0/PD2/PB15/PA8默认4K下拉

在项目中,PB15和PA8被用于按键检测,同时外接了10K的上拉电阻,上电(3.3V)后发现两引脚的电压为0.9V左右;在排除了其他可能的情况后,我拔掉了MCU(没错,就是这么简单粗暴),引脚电压恢复为3.3V,正常了。如此看来,问题出在MCU引脚上,根据电压值,应该是引脚下拉了4K左右的电阻。
最终在用户手册(RM0454)中找到了问题的原因:

Bit 10 UCPD2_STROBE: PD0 and PD2 pull-down configuration strobe
Upon power on, internal pull-down resistors on PD0 and PD2 pins are enabled (connected). Setting this bit disables (disconnects) the internal pull-down resistors.
This bit is only available in STM32G070xx. It is reserved in STM32G030xx.
Bit 9 UCPD1_STROBE: PB15 and PA8 pull-down configuration strobe
Upon power on, internal pull-down resistors on PB15 and PA8 pins are enabled (connected). Setting this bit disables (disconnects) the internal pull-down resistors.
This bit is only available in STM32G070xx. It is reserved in STM32G030xx.

MCU上电后,这4个引脚默认连接了下拉电阻。

解决方法

我们的应用中,不需要这个下拉电阻,所以在代码中进行配置即可:

HAL_SYSCFG_StrobeDBattpinsConfig(SYSCFG_CFGR1_UCPD1_STROBE | SYSCFG_CFGR1_UCPD2_STROBE);

扩展–UCPD

这里简单分享下为什么这4个引脚会默认连接下拉电阻。

STM32G0微控制器是世界上首个支持USB Type-C规格的通用微控制器。意法半导体创新的USB Type-C Power Delivery (UCPD)接口IP模块整合通过认证的USB Type-C连接器管理和PD协议处理与微控制器功能,包括Arm®Cortex®-M0 +内核、高达512 KB的闪存以及外围设备,例如,12位2.5 MSPS ADC、2通道DAC、快速比较器和高精度定时器。
片上集成多达两个UCPD接口。每个接口都支持USB-C 用电(SNK)、供电(SRC)或用电供电双角色 (DRP),并支持USB PD功能选项,例如,PPS(编程电源)模式、通信(CC)线固件升级和验证消息。

PD0/PD2/PB15/PA8正好就是这个两个UCPD接口的CC控制引脚。

你可能感兴趣的:(#,ST,★MCU)