GPIO输出在延长睡眠模式下变低

6个帖子/ 0新
最后一篇
Zhigang.
离线
最后一次露面:6年4个月前
加入:2014-12-04 09:56
GPIO输出在延长睡眠模式下变低

i在我的DA14580Ev托架-B中测试DA14580,并将GPIO端口0,PIN4设置为输出,值为1。

如果#undef cfg_ext_sleep,则输出始终高。
如果#define cfg_ext_sleep,则out变低

系统输入延迟睡眠时如何保持输出?

je_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-05 14:02
你好张刚,

你好张刚,

你能澄清这个问题吗?你是说HWEN你进入扩展的睡眠模式,GPIO端口0的I / O状态不是保留其状态吗?

所有GPIO都有保留状态,因此将在延长睡眠期间保持其州。(由于输入,每个GPIO可以用作延长睡眠中的唤醒计数器的输入。)

BR JE_DIALOG.

Zhigang.
离线
最后一次露面:6年4个月前
加入:2014-12-04 09:56
我发现set_pad_functions

我发现Set_Pad_Functions()将调用每次系统唤醒,在此功能中,我设置I / O输出低。但是,一些I / O将在工作中设置为高。所以当系统唤醒时,它变低了。

mhv_dialog
离线
最后一次露面:1个月2周前
职员
加入:2013-12-06 15:10
你好

你好

每次从睡眠中唤醒时都会调用periph_setup.c中的periph_init函数。此函数调用setpad函数,它始终无条件地设置级别 - 就像您所说的那样。

您应该删除该声明

gpio_configurepin(gpio_port_1,gpio_pin_1,input_pullup,pid_gpio,false);

来自set_pad_functions()函数。

在函数app_set_dev_config_complete_func()中,使用gpio_configurepin设置默认值或启动值:

gpio_configurepin(gpio_port_1,gpio_pin_1,input_pullup,pid_gpio,false);// false将引脚设置为低

然后在您的应用程序中,而不是使用GPIO_将引脚设置为setInactive()或gpio_setactive(),使用gpio_configurepin()函数 - 使用false将引脚设置为低电平,使用true保持高。这将确保PIN正确配置并在SleepMode期间保持锁存。

SEM.
离线
最后一次露面:5年3周前
加入:2014-12-03 09:11
嗨mhv_dialog,

嗨mhv_dialog,
我配置了GPIO引脚,如你最后一个语句中的描述。当我撤消标志CFG_EXT_SLEEP时,它可以正常工作,但否则CFG_EXT_SLEEP被定义,并且我从睡眠中唤醒,引脚很低。是否有必要将端口保留分开?

SEM.

SEM.
离线
最后一次露面:5年3周前
加入:2014-12-03 09:11
嗨mhv_dialog,

嗨mhv_dialog,

你有什么新闻吗???

SEM.