DA1468x/DA1510x PRO开发工具包演示板中管脚电平状态在休眠后无法保持

5个员额/0个新员额
最后一篇文章
用户年
离线
最后一次见到:3年1个月前
加入:2016-11-08 08:28
DA1468x/DA1510x PRO开发工具包演示板中管脚电平状态在休眠后无法保持

简述:
基于官方提供例程进行修改后测试,
在P1_7管脚上触发产生一个下降沿后,演示板上的D2会亮,
却发现当中央处理器完全进入休眠后,演示板上的D2也会熄灭。

理论上管脚会保持休眠前的状态,但是现在的实际情况是不对的。
以上效果是因为配置存在问题而导致的么,请指教。

详情:
使用UM-B-047-DA1468x入门指南中的第八章您的第一个DA1468x应用程序–Blinky的例程,
并按照步骤成功添加了闪烁LED D2的程序。
正是由于在实际开发中遇到了问题,
需要测试管脚在休眠后是否能够继续保持管脚状态,现做出如下修改:

1.设置休眠模式,如下所述:
pm_设置_唤醒_模式(真);
pm_设置_睡眠_模式(pm_模式_延长睡眠);

2.检测外部中断,此处使用的检测到P1_7有下降沿出现则唤醒设备,如下所述:
#定义CFG_工作时间(32)
#定义CFG工作计数器(1)
#定义CFG\U WKUP\U ISR\U优先级(1)

静态void prvTemplateTask(void*pvParameters)
{
下一个时间;
静态uint32测试计数器=0;
uint32任务通知值;
硬件gpio_配置_引脚_电源(硬件gpio_端口_1、硬件gpio_引脚_7、硬件gpio_电源_V33);
硬件gpio设置引脚功能(硬件gpio端口1、硬件gpio引脚7、硬件gpio模式输入引脚上拉、硬件gpio函数gpio);

hw_wkup_init(空);
hw_启动_设置_去抖动_时间(CFG_启动_去抖动_时间);
硬件工作设置计数器阈值(CFG工作计数器阈值);
硬件工作寄存器中断(硬件失效、工作中断、CFG工作中断、ISR优先级);
硬件工作单元设置引脚状态(硬件GPIO端口1,硬件GPIO引脚7,正确);
硬件启动设置引脚触发器(硬件GPIO端口1、硬件GPIO引脚7、硬件启动引脚状态低);

对于(;;)
{
操作系统任务通知等待(任务h、操作系统任务通知所有位、任务通知值、操作系统任务通知永远);
如果(任务通知值&(1<<0))
{
测试计数器++;
如果(测试计数器%2){
硬件gpio设置激活(硬件gpio端口1,硬件gpio引脚5);
}
否则{
硬件gpio设置未激活(硬件gpio端口1,硬件gpio引脚5);
}
}
}

}

静态空隙hw_熄灭_工作_cb(空隙)
{
硬件启动复位中断();
来自ISR的操作系统任务通知(任务h,(1<<0),操作系统通知设置位);
}

附录:
根据数据表修订版2.1 2016年7月15日中P147所描述,
32.4睡眠时的状态保留小节的内容,
在进入调试模式下,发现确实调用了系统动力经理c中的申请注射用水函数中的如下部分:
如果(dg_配置黑色_ORCA_IC_REV==黑色_ORCA_IC_REV_A){
hw_cpm_激活_垫锁();
hw_cpm_power_down_periph_pd();
每次断电时都要等待();
}

设备:
Qinjiny_对话
离线
最后一次见到:1周1天前
工作人员
加入:2016-11-01 05:47
嗨,userYR,
兰雪峰1644
离线
最后一次见到:2周1天前
加入:2020-03-03 06:28
你好,我也遇到了一样的疑惑,请问您解决了吗?

你好,我也遇到了一样的疑惑,请问您解决了吗?

利宾
离线
最后一次见到:1周6天前
加入:2020-03-24 02:55
你好,我也遇到了一样的疑惑,请问您解决了吗?

你好,我也遇到了一样的疑惑,请问您解决了吗?

PW_对话框
离线
最后一次见到:1周4天前
工作人员
加入:2019-04-03 02:54
可以参考本论坛的另外一个类似帖子:https:/

可以参考本论坛的另外一个类似帖子:https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...