完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试将我的微控制器置于待机模式,然后通过 IMU 将 PA0/SYS_WKUP1 引脚拉高来唤醒它。我发现,参考手册在某种程度上证实了这一点,即 PA0 拉低的力度大于我的 IMU 拉高的力度。
IMU 是一个可编程的 BMX160,不需要与 MCU 持续通信,它旨在为智能手表和可穿戴设备提供唤醒中断。 我所看到的是,当设备处于正常模式时,我能够将 WKUP 引脚拉高,但当它处于待机模式时则不行。我在进入待机状态之前触发了一个中断,并观察到引脚状态过早变低。我已经让 wkup 引脚在睡眠模式下变高,但在意识到唤醒和睡眠不相关后放弃了睡眠模式。 我想知道我是不是配置了我的待机错误或唤醒错误,我使用的是 Cube_IDE,除了名称之外,我看不到任何关于 SYS_WKUP 引脚的可配置信息。 这是我的待机功能: void enterStandby(无效){ //HAL_PWR_DisableWakeUpPin(WKUP_Pin); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); __HAL_RTC_WAKEUPtiMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); HAL_PWR_EnableWakeUpPin(WKUP_Pin); HAL_PWR_EnterSTANDBYMode(); } 感谢帮助, |
|
相关推荐
1个回答
|
|
所以问题是我使用的是我给唤醒引脚的名称,而不是我应该使用的指定名称:PWR_WAKEUP_PIN1。
void enterStandby(无效){ __HAL_RCC_CLEAR_RESET_FLAGS(); __HAL_RCC_PWR_CLK_ENABLE(); HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); HAL_PWR_EnterSTANDBYMode(); } 如果您检查启用/禁用唤醒引脚功能,它应该说明要使用的正确引脚名称是什么。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2642 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3611 浏览 6 评论
5989 浏览 21 评论
939浏览 4评论
1316浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
584浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1303浏览 3评论
1361浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 01:19 , Processed in 1.203905 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号