GPIO引脚的硬件差异

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
8个帖子/ 0新
最后一篇
尼格利
离线
最后一次露面:3周11小时前
加入:2018-03-20 08:24
GPIO引脚的硬件差异

嗨对话框,

Q1我尝试使用p2_0和p2_1(我不使用32k xtal)作为按钮使用。当我分别配置P2_0和P2_1作为按钮时,我发现两种不同的电流消耗结果。
使用p2_0作为按钮,我在休眠模式下得到了3个UA;但是,使用P2_1作为按钮,在休眠模式下得到15个UA。我在p2_0和p2_1中配置相同的东西(使用宏
ad_gpio_intr_instance(.........))。两个引脚之间有任何硬件差异吗?此外,SWDIO和SWCLK具有相同的结果(SWCLK的功耗高于
SWDIO)。

Q2。使用32K Xtal和Internal RC 32K为LP_CLK的系统之间有什么区别?不同的功耗? 

Q3。是否可以将QSPI引脚(P00〜P05)共享为GPIO,用于控制外部设备而不影响闪存代码执行?

谢谢你的帮助。

设备:
PM_DIALOG.
离线
最后一次露面:1天2小时前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

Q1:P2_0和P2_1是GPIO,但它们可以与XTAL复用。你在哪里找到了ad_gpio_intr_instance宏?此外,请尝试描述您尝试完成的内容。

Q2:RCX是具有低功耗时钟的简单方法,无需将外部晶体振荡器添加到您的电路板中。RCX与外部XTAL不那么稳定,使用RCX时功耗更高。

Q3:否,不可能共享QSPI引脚,因为它们专用于QSPI控制器。使用QSPI控制器时,您无需配置这些引脚。

谢谢,PM_DIALOG.

尼格利
离线
最后一次露面:3周11小时前
加入:2018-03-20 08:24
Q1:我发现它在Wrbl中

Q1:我在WRBL项目中找到了它并在我的应用程序中引用,如下所示
/ **
* \ GPIO中断简要输入
*
* \ param [in] _name名称将稍后用于参考实例
* \ param [in] _port触发引脚的端口ID
* \ param [in] _pin引脚ID的触发引脚
* \ param [in] _press_callback函数被称为GPIO被称为
* \ param [in] _release_callback函数被调用时gpio被解除断言
* /
#define ad_gpio_intr_instance(_name,_port,_pin,_press_callback,_release_callback)\
静态initialised_privileged_data ad_gpio_intr_config dev _ ## _ name = {\
.index = conv_port_pin_to_index((_ port << 4)|(_pin&0x0f)),\
。抑制= false,\
.press_cb = _press_callback,\
.release_cb = _release_callback,\
.next_element = null,\
};\
静态ad_gpio_intr_config * const _name =&dev _ ## _名称;

PM_DIALOG.
离线
最后一次露面:1天2小时前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

你能澄清你使用的是哪个项目?您是否使用SDK示例的可穿戴项目或项目?如果您使用的是可穿戴项目,您是否购买了可穿戴硬件?否则,如果您使用的是SDK示例,为什么要从可穿戴参考设计中获取代码?

谢谢,PM_DIALOG.

尼格利
离线
最后一次露面:3周11小时前
加入:2018-03-20 08:24
嗨对话框,

嗨对话框,

我正在开发基于SDK项目的应用程序代码,但我在我的项目中读取和使用了WRBL项目代码的部分,尤其是按钮设置部分。如果使用p2_1和p2_4作为输入,我的按钮设置会导致高电流是否有任何问题?如果没有任何硬件差异,这可能是PCB设计问题?!但是,我的两个PCB都有这种现象。谢谢你的帮助。

PM_DIALOG.
离线
最后一次露面:1天2小时前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

对不起,但我有点混淆你的描述。您能否准确描述您想要实施的内容?如果我能够正确理解,你有一个定制董事会吗?请让我了解按钮的设置,我将为您提供具有配置的正确代码片段。

谢谢,PM_DIALOG.

尼格利
离线
最后一次露面:3周11小时前
加入:2018-03-20 08:24
嗨对话框,

嗨对话框,

是的,我正在在定制委员会(我自己的电脑)中实施。我尝试了大量的时间来捕捉到高信号,以触发我的系统从睡眠中触发我的系统,但失败了。所以我试图模仿WRBL项目中的按钮设置,以节省问题。要简化我的问题,我的低于外部唤醒引脚的代码是否有错误?(捕捉到高触发器)

hw_gpio_configure_pin(status_port,status_pin,hw_gpio_mode_input,hw_gpio_func_gpio,0);// 0:充当低引脚:P2_3
hw_wkup_init(null);
hw_wkup_configure_pin(status_port,status_pin,1,hw_wkup_pin_state_high);//触发@high.
hw_wkup_register_interrupt(status_wkup_handler,1);

/ * status_wkup_handler * /
静态void fp_status_wkup_handler(void)
{
printf(“这是status_wkup_handler \ r \ n”);
hw_wkup_reset_interrupt();
notify_task_verify_ok();//
}

PM_DIALOG.
离线
最后一次露面:1天2小时前
职员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

您会发现附加的一个示例代码片段,演示了通过按下按钮来唤醒如何唤醒。

谢谢,PM_DIALOG.

附件: