嗨对话框,
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和内部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 project中找到了它,并在我的申请中引用了它,如下所示
/ **
* \ 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(空);
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.