da14580不保留在延长睡眠模式引脚状态

7个帖子/ 0新
最后一篇
Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
da14580不保留在延长睡眠模式引脚状态

我使用app_timer_set同步唤醒IC,并使其进入睡眠状态,
而这样做,我也触发领导。但是,LED是,一旦设备进入延长休眠模式关闭。

谢谢
莫希特

设备:
tr_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2014-06-30 23:52
你好,

你好,

定时器块被断电时DA1458x进入睡眠模式,但在销的值被锁存。

当设备唤醒“periph_init”需要被调用。

你也必须修改“periph_init”设置GPIO连接到LED,以正确的值每次醒来的时间。否则,periph_init每次都会重置GPIO值。

谢谢,

TR_DIALOG

Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
我正在处理这件事

我正在照顾已经是这里的代码:

INT flip_main_timer_handler(ke_msg_id_t常量MSGID,
无效常量* PARAM,
ke_task_id_t常量DEST_ID,
ke_task_id_t常量src_id)
{
app_disable_sleep();
SetBits16(CLK_AMBA_REG,PCLK_DIV,0);
SetBits16(CLK_AMBA_REG,HCLK_DIV,0);

如果(GetBits16(SYS_STAT_REG,PER_IS_DOWN))
periph_init();

如果(计数器== 0)
{
GPIO_ConfigurePin(GPIO_PORT_0,GPIO_PIN_4,INPUT,PID_GPIO,真正的);
计数器++;
}
别的
{
GPIO_ConfigurePin(GPIO_PORT_0,GPIO_PIN_4,INPUT,PID_GPIO,FALSE);
计数器= 0;
}
app_set_extended_sleep();
app_timer_set(FLIP_MAIN_TIMER,TASK_APP,200);
回报(KE_MSG_CONSUMED);
}

在上面的代码我没有得到正确的输出方波脉冲,我得到它变低高了很短的时间,然后再次走高,但如果我删除app_set_extended_sleep();我得到良好的矩形脉冲。

mt_dialog.
离线
最后一次露面:6个月2周前
职员
加入:2015-06-08 11:34
嗨mohit3112

嗨mohit3112

当DA进入睡眠状态引脚被锁存,但是当DA唤醒引脚复位。

尽量把引脚的状态存储在保持着的变量,在set_pad_functions醒来的时候了一套你的脚到以前的状态()。

谢谢mt_dialog.

Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
请参阅我的代码,我不

请参阅我的代码在peripheral_init由我使用的是定时器醒来后我没有配置引脚()

GPIO_ConfigurePin(GPIO_PORT_0,GPIO_PIN_4,INPUT,PID_GPIO,真正的);

GPIO_ConfigurePin(GPIO_PORT_0,GPIO_PIN_4,INPUT,PID_GPIO,FALSE);

切换我销
我一定要禁用pad_latch并重新启用?之前做ConfigurePin?

mt_dialog.
离线
最后一次露面:6个月2周前
职员
加入:2015-06-08 11:34
嗨mohit3112

嗨mohit3112

你只需要在set_pad_functions(去)和实施这样的事情:

如果(计数器== 0)
GPIO_ConfigurePin(GPIO_PORT_1,GPIO_PIN_0,OUTPUT,PID_GPIO,真正的);
别的
GPIO_ConfigurePin(GPIO_PORT_1,GPIO_PIN_0,OUTPUT PID_GPIO,FALSE);

每次DA进入睡眠状态的引脚都将被锁定,当它醒来,虽然你的脚将重设(即使你不调用GPIO_ConfigurePin()在你的set_pad_functions()的引脚将其默认状态),与上面的代码中,你将能够知道他们以前的状态,并得到你想要的方波脉冲。此外,如果你正在推动通过引脚带领你应该让输出。

谢谢mt_dialog.

Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
谢谢 !!现在是有道理的

谢谢 !!现在是有道理的

主题锁定