完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有一点注意: HAL_PWREx_EnableGPIOPullDown 这个重启后,还有效,可以上电初始化时 disable掉
StandBy 模式,重新进入前,清一下 Wake的标志位 |
|
|
|
是的HAL_PWREx_EnableGPIOPullUp 这个重启后还是有效,就是PA0一直保持为高,这样PAO不用外接上赖电阻,外部拉低PA0就能唤醒,但是PA0拉低后一直反复重启,感觉stm32L431这儿有bug,测试了很久。拉低PA0后一直重启,按道理PA0下降沿只会重启一次。wakup标志已经清楚,完全参照STM32L432的官方代码,用在stm32L431上就不行了。stm32官方没有出431的例程。stm32L432例程路径
STM32Cube\Repository\STM32Cube_FW_L4_V1.17.2\Projects\NUCLEO-L432KC\Examples\PWR\PWR_STANDBY\MDK-ARM 以下是rt studio中的应用代码,Pa0拉低后无限重启,真是个神奇的问题,现象录屏 int main(void) { LOG_D("Hello RT-Thread!pppppp"); /*先禁用一下 HAL_GPIO_DeInit(GPIOA,GPIO_PIN_0); HAL_PWREx_DisableGPIOPullUp(PWR_GPIO_A, PWR_GPIO_BIT_0); HAL_PWREx_DisablePullUpPullDownConfig(); */ //禁不禁用效果都一样 __HAL_RCC_PWR_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStructure; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitStructure.Pin = GPIO_PIN_0; GPIO_InitStructure.Mode = GPIO_MODE_INPUT; GPIO_InitStructure.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); HAL_PWREx_EnableGPIOPullUp(PWR_GPIO_A, PWR_GPIO_BIT_0); HAL_PWREx_EnablePullUpPullDownConfig(); /* Disable used wakeup source: PWR_WAKEUP_PIN1 */ HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1); /* Clear all related wakeup flags */ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); /* Enable wakeup pin WKUP1 */ HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1_LOW); // /* Enter the Standby mode */ HAL_PWR_EnterSTANDBYMode(); return RT_EOK; } |
|
|
|
开机初始化时,先把 wakeup 唤醒关闭试试
|
|
|
|
|
|
|
|
完全参照官方代码来编写的,下面是stm32 hal 库文件包中的例程,stm32L432,我的板子是L431,应该关系不大,同一系列。 下面是官方的keil工程,standby例程,路径:\\Repository\\STM32Cube_FW_L4_V1.17.2\\Projects\\NUCLEO-L432KC\\Examples\\PWR\\PWR_STANDBY\\MDK-ARM |
|
|
|
关闭wakeup不能唤醒,也不会出现重启,
|
|
|
|
|
|
|
|
就是相当于在rt studio中新建了一个空白工程,只添加上面main中的几行代码,准备来测试pa0唤醒,就有这个问题
|
|
|
|
开机默认手动关闭 唤醒,清 wakeup标志位,只有在进入standby前开启唤醒功能,这样应该就可以了吧
|
|
|
|
直接在进入待机前加入延时打印几个log信息,下载进去,直接反复重启,PA0不管高低电平不起作用了,直接反复重启,下载其他不带低功耗的工程正常运转。
|
|
|
|
开机加个几秒的延时吧,HAL_Delay 裸机是这个吧,重启因为在进入 standby后被唤醒了
这个使能standby下的调试功能,尝试Debug,看看唤醒源是否存在。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
489 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1823 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1142 浏览 0 评论
1620 浏览 0 评论
1424 浏览 0 评论
74685 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 20:11 , Processed in 0.921974 second(s), Total 90, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号