使用不同的回调多个wkupct_enable_irq?

⚠️
您好..感谢来参加论坛。令人兴奋的消息!我们现在在移动到我们的新论坛的平台,将提供更好的功能,并且包含在主对话框网站中的过程。所有职位和帐户已迁移。现在我们接受的新论坛的流量只有 - 请发表任何新的线程在//www.xmece.com/support。我们将修复bug /优化搜索和标记在未来的日子里。
6帖/ 0新
最后发表
gme_johannes
离线
最后一次露面:4个月1周前
加入:2017年12月22日10:09
使用不同的回调多个wkupct_enable_irq?

你好,

我们使用的是“旧”的IoT传感器与SDK5,移植到村田ZY(DA14580)。

该SDK操作(FIFO水印传感器读出),并在睡眠期间(运动唤醒),例如过程中使用的BMI160用于中断

的#ifndef BLE_APP_SENSOR_FUSION空隙config_da1458x_pin_intr_1_enable(无效){wrbl_env.wrbl_intr_1_cb = wkup_intr_1_cb;wkupct_register_callback(wrbl_env.wrbl_intr_1_cb);的#ifdef USE_MAG_DRDY_INTR wkupct_enable_irq(即0x0040,即0x0040,1,0);//活性高的#else wkupct_enable_irq(WKUPCT_PIN_SELECT(INT1_PORT,INT1_PIN),WKUPCT_PIN_SELECT(INT1_PORT,INT1_PIN),1,0);//活性低#ENDIF}

我们要使用另一个GPIO,中断执行特定的命令,它应该运行过程中,也可以在休眠模式(因此我们不能用GPIO_EnabeIRQ)工作。

我的理解是:

1)多的GPIO可以配置为唤醒源。
2)对于wkupct_enable_irq它不可能为不同的中断源寄存器不同回调函数。
3)如果wkupct_register_callback()在整个代码调用多次,最后注册的回调将被使用。
正确的?

题:
4)是否有注册,我可以醒来,告诉我这脚是断源后,读?从HTTPS://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl ...我明白这是不可能的?
5),但关于使用NVIC_GetPendingIRQ什么?是不是不同的中断分配不同IRQN?
- >我发现他们都使用相同的IRQN:

// datasheet.h WKUP_QUADEC_IRQn = 9,/ *结合叫醒捕捉定时器中断时,GPIO中断和中断QuadDecoder * /

BR约翰内斯

设备:
PM_DIALOG.
离线
最后一次露面:3天39分钟前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

关于你的第一个,问题,是的,你可以配置多个GPIO作为唤醒源。请检查下面的代码片段:

wkupct_enable_irq(WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT,GPIO_BUTTON_PIN)| WKUPCT_PIN_SELECT(GPIO_BUTTON_2_PORT,GPIO_BUTTON_2_PIN),WKUPCT_PIN_POLARITY(GPIO_BUTTON_PORT,GPIO_BUTTON_PIN,WKUPCT_PIN_POLARITY_LOW)| WKUPCT_PIN_POLARITY(GPIO_BUTTON_2_PORT,GPIO_BUTTON_2_PIN,WKUPCT_PIN_POLARITY_LOW),1,40);

关于你的第二个问题,你可以请你澄清呢?你是正确的,在wkupct_register_callback()你可以注册只有一个回调函数。所以,如果我能正确理解,你想做到的是从不同的唤醒中断触发不同的回调函数?例如,如果你从GPIO_1获得中断时,应callback_1执行,如果你从GPIO_2获得中断,应执行的callback_2。

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:4个月1周前
加入:2017年12月22日10:09
对,那是正确的。

对,那是正确的。

HTTPS://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl ...我明白我可以检查GPIO状态中断被触发后。

这会不会是速度不够快,无论如何?将在GPIO状态总是长到足够多的保留,如果我在回调函数做的第一件事就是检查它的状态呢?

PM_DIALOG.
离线
最后一次露面:3天39分钟前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

在过去的论坛主题,您刚才提到,MT_Dialog正确曾提到,没有寄存器,将指示端口/引脚发生中断,那么你必须阅读的销权地位的设备已被唤醒后根据引脚的状态,你将必须决定哪些回调函数将被触发。

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:4个月1周前
加入:2017年12月22日10:09
谢谢你,我会尝试

谢谢你,我将试图解决我的问题这样。

PM_DIALOG.
离线
最后一次露面:3天39分钟前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

感谢您接受我的答案。请让我知道,如果您有任何其他问题。

谢谢,PM_DIALOG.