配置CubeMX后(STM32H723VGT6),自动生成的代码,编译报错
官网注册问题
基于STM32F103的HAL库实现USB(HID) OTA升级
vscode的cubemx插件看不了livewatch
STM32L476 使用系统bootloader中的IIC下载,读取数据时,时钟线为什么会一直为低?
怎么将keil工程更换为vscode工具链?
stlink v3minie的拓展板这个20pin接口有定义吗
Nucleo STM32H723ZG 以太网 用CubeMX配置完卡在在mem_init()为什么?
stm32cubemx “enter myST account information”无反应,无法下载软件包
在哪里可以下到文件 stm32l4xx_ll_flash.h 和 stm32l4xx_ll_flash.c
微信公众号
手机版
第一,你调用的HAL_RCC_APB2_FORCE_RESET()函数,我看了下手册,应该不是对GPIO外设做复位。
请你再确认下。另外,调用这个FORCE_RESET函数后,建议后续调用RELEASE_RESET函数。具体到这里可能
问题不大,其它地方注意成对使用。
第二、建议你根据蜂鸣器的驱动电平要求,同样通过HAL_PWREx_EnableGPIOPullUp或HAL_PWREx_EnableGPIOPullDown
在进入standby之前将其电平固定下来。
第三、芯片复位后的GPIO除个别调试相关脚外,都处于高阻模拟输入态。此时管脚电平取决于外部电路。
我感觉这个现象非常像我Debug的时候,把程序停在GPIO初始化之前,一段时间后蜂鸣器也会响,但是停在GPIO初始化之后,就不会响。但是怎么解决呢,进入待机模式一定会把所有时钟关闭啊。
如果是电平的话,根据手册描述是可以配置上拉或下拉的。
如果担心有状态失控的瞬间,也可以考虑外部加上下拉电阻解决这样的问题。
是电平驱动,但是我的目的是进入待机模式,配置成上下拉意义不大,因为待机模式IO口默认是浮空的把
好的,我会参考意见一;
对于意见二,
HAL_PWREx_EnablePullUpPullDownConfig将蜂鸣器引脚拉低,确实能解决我的问题,我刚才也试了一下,把所有程序都注释掉,蜂鸣器也会响,我怀疑是栅极浮空导致的。不知道有没有其他方法可以解决这个问题。