你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
我感觉这个现象非常像我Debug的时候,把程序停在GPIO初始化之前,一段时间后蜂鸣器也会响,但是停在GPIO初始化之后,就不会响。但是怎么解决呢,进入待机模式一定会把所有时钟关闭啊。
butterflyspring 发表于 2023-10-8 10:56 看不出来蜂鸣器是哪个引脚,同时是脉冲驱动还是电平驱动。 楼主可以在故障时量测一下是电平还是脉冲。 如果 ...
是电平驱动,但是我的目的是进入待机模式,配置成上下拉意义不大,因为待机模式IO口默认是浮空的把
xmshao 发表于 2023-10-8 11:21 给你几点提醒供参考: 第一,你调用的HAL_RCC_APB2_FORCE_RESET()函数,我看了下手册,应该不是对GPIO外设 ...
好的,我会参考意见一;
对于意见二,HAL_PWREx_EnablePullUpPullDownConfig将蜂鸣器引脚拉低,确实能解决我的问题,我刚才也试了一下,把所有程序都注释掉,蜂鸣器也会响,我怀疑是栅极浮空导致的。不知道有没有其他方法可以解决这个问题。
HAL_PWREx_EnablePullUpPullDownConfig
stm32H745 M4核不能调试和下载
CUBEMX界面汉化有吗?
STM32会存在单个IO口坏掉的情况吗?
STM32CUBE MX无法安装,每次总是卡在最后一步
STM32部署机器学习算法硬件至少要使用哪个系列的芯片?
用NanoEdge Ai训练多分类后输出概率一直为一样的值,传不同数据永远都是一样的概率
stm32h745 调试问题
STM32G474RET6移相问题
STM32G474使用HRTIME完成两路180度移相问题
ST官网账号密码重置不了
第一,你调用的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
将蜂鸣器引脚拉低,确实能解决我的问题,我刚才也试了一下,把所有程序都注释掉,蜂鸣器也会响,我怀疑是栅极浮空导致的。不知道有没有其他方法可以解决这个问题。