DA14580外部中断配置

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
2455321262
离线
最后看到:2年8个月前
加入:2017-01-22 06:43
DA14580外部中断配置

亲爱的对话框,
我正在使用我们自己的定制板,我的pin和它的中断配置如下:
/ /销0.3
GPIO_ConfigurePin(PET_INT_PORT, PET_INT_PIN, INPUT_PULLDOWN, PID_GPIO, false);
NVIC_SetPriority (GPIO0_IRQn 0);
GPIO_RegisterCallback (GPIO0_IRQn user_gpio0_handler);
NVIC_EnableIRQ (GPIO0_IRQn);
/ /销2.9
GPIO_ConfigurePin(PET_MOD_PORT, PET_MOD_PIN, INPUT_PULLUP, PID_GPIO, true);
NVIC_SetPriority (GPIO2_IRQn 0);
GPIO_RegisterCallback (GPIO2_IRQn user_gpio2_handler);
NVIC_EnableIRQ (GPIO2_IRQn);

SetWord16 (GPIO_IRQ0_IN_SEL_REG 0 x000a);//中断源为P0.3
SetWord16 (GPIO_IRQ2_IN_SEL_REG 0 x0018);//中断源是P2.9
SetWord16 (GPIO_DEBOUNCE_REG 0 x050a);//使能GPIO_IRQ0, GPIO_IRQ1 delay,delay time 10ms
SetWord16 (GPIO_INT_LEVEL_CTRL_REG 0 x0504); / /中断级

引脚2.9是拉起在我们自己的定制板硬件。有一个问题,每次系统从睡眠中醒来,都会产生一个PIN2.9中断,为什么会这样?
谢谢你的阅读。
杰里

设备:
MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨,杰瑞,

嗨,杰瑞,

我很抱歉,我不太明白你的问题,你正在设置两个GPIO_IRQs一个为引脚0_3,另一个为引脚2_9,一旦580醒来,你看到总是有一个执行user_gpio2_handler()?580是如何醒来的?你在设置唤醒控制器吗?你能提供更多的细节以便我能够理解什么是用例吗?

由于MT_dialog

2455321262
离线
最后看到:2年8个月前
加入:2017-01-22 06:43
嗨,MT_dialog,

嗨,MT_dialog,
是的,我也启用了两个外部中断引脚,塔门是P0.3和P2.9,但我认为他们不应该冲突。
我设置了一个软件计时器,每DA14580唤醒一次,每次唤醒后,我的芯片将执行函数user_gpio2_handler()。
关于控制器的尾流,我不是很清楚,我的意思是我可能没有设置它,你能给我一些提示吗?

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨,杰瑞,

嗨,杰瑞,

所以,你已经设置了一个内核定时器来唤醒和两个GPIO中断,每次设备从定时器中唤醒时,引脚2.9的IRQ就会被触发?设备既可以通过一个被认为是BLE事件的定时器唤醒,也可以通过唤醒控制器(或WakeUp timer)唤醒,设备不能通过标准的GPIO IRQs唤醒。如果计时器过期,设备醒来,在那一刻你从端口2.9获得IRQ,我可以假设这意味着你有一个中断。如果您将设备配置为无睡眠模式,您是否看到连续触发中断?此外,为了使用外接设备,GPIO中断和唤醒控制器请使用驱动程序,看一下UM-B-051 da1458x软件平台参考资料。pdf在第10段,10.3节解释了GPIO驱动程序和10.7唤醒定时器。此外,将gpio设置为优先级0也不是一个好主意,BLE中断应该处于最高优先级,并将其设置为1。

由于MT_dialog

2455321262
离线
最后看到:2年8个月前
加入:2017-01-22 06:43
嗨,MT_dialog,

嗨,MT_dialog,
我按顺序调整中断初始化代码,解决异常中断的问题。上面你提到过设备不能通过标准的GPIO IRQ唤醒,如何设置设备才能使通用的GPIO_IRQ唤醒?

谢谢你杰里

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
你好2455321262,

你好2455321262,

有文档和例子表明,请检查上面提到的文件,我已经为了检查计时器API也醒来SDK ble_app_sleep模式的一个例子如何从外部中断醒来,请检查在user_app_adv_undirect_complete ble_app_sleepmode项目()函数,在这里,设备被配置为进入睡眠状态并等待外部唤醒。

由于MT_dialog