嗨对话框,
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,用于控制外部设备而不影响闪存代码执行?
谢谢你的帮助。
设备:
嗨nigelyang,
Q1:P2_0和P2_1是GPIO,但它们可以与XTAL复用。你在哪里找到了ad_gpio_intr_instance宏?此外,请尝试描述您尝试完成的内容。
Q2:RCX是具有低功耗时钟的简单方法,无需将外部晶体振荡器添加到您的电路板中。RCX与外部XTAL不那么稳定,使用RCX时功耗更高。
Q3:否,不可能共享QSPI引脚,因为它们专用于QSPI控制器。使用QSPI控制器时,您无需配置这些引脚。
谢谢,PM_DIALOG.
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 _ ## _名称;
嗨nigelyang,
你能澄清你使用的是哪个项目?您是否使用SDK示例的可穿戴项目或项目?如果您使用的是可穿戴项目,您是否购买了可穿戴硬件?否则,如果您使用的是SDK示例,为什么要从可穿戴参考设计中获取代码?
谢谢,PM_DIALOG.
嗨对话框,
我正在开发基于SDK项目的应用程序代码,但我在我的项目中读取和使用了WRBL项目代码的部分,尤其是按钮设置部分。如果使用p2_1和p2_4作为输入,我的按钮设置会导致高电流是否有任何问题?如果没有任何硬件差异,这可能是PCB设计问题?!但是,我的两个PCB都有这种现象。谢谢你的帮助。
嗨nigelyang,
对不起,但我有点混淆你的描述。您能否准确描述您想要实施的内容?如果我能够正确理解,你有一个定制董事会吗?请让我了解按钮的设置,我将为您提供具有配置的正确代码片段。
谢谢,PM_DIALOG.
嗨对话框,
是的,我正在在定制委员会(我自己的电脑)中实施。我尝试了大量的时间来捕捉到高信号,以触发我的系统从睡眠中触发我的系统,但失败了。所以我试图模仿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();//
}
嗨nigelyang,
您会发现附加的一个示例代码片段,演示了通过按下按钮来唤醒如何唤醒。
谢谢,PM_DIALOG.