亲爱的对话框,
我使用自己的定制电路板,我的脚和它的中断配置如下:
// 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,真正的);
NVIC_SetPriority(GPIO2_IRQn,0);
GPIO_RegisterCallback(GPIO2_IRQn,user_gpio2_handler);
NVIC_EnableIRQ(GPIO2_IRQn);
SetWord16(GPIO_IRQ0_IN_SEL_REG,0x000a);//中断源是P0.3
SetWord16(GPIO_IRQ2_IN_SEL_REG,0x0018处);//中断源是P2.9
SetWord16(GPIO_DEBOUNCE_REG,0x050a);//使GPIO_IRQ0,GPIO_IRQ1延迟,延迟时间10毫秒
SetWord16(GPIO_INT_LEVEL_CTRL_REG,0x0504); //中断级
2.9引脚是在我们自己的德,崔根源板拉起通过hardware.There是一个问题,每个系统从睡眠中醒来的时候,就会产生一个中断PIN2.9,为什么会这样呢?
感谢您的阅读。
杰瑞
设备:
嗨杰瑞,
我很抱歉,我不知道你这个问题,你是调节两个GPIO_IRQs一个引脚0_3,另一个脚2_9和只要580点醒来,你发现总有user_gpio2_handler的执行()?如何在580醒来?你设置唤醒控制器?你能给为了让我能够理解什么是用例的更多细节?
谢谢mt_dialog.
嗨,MT_dialog,
是的,我还启用了两个外部中断引脚,塔门是P0.3和P2.9,但我认为他们不应该是冲突的。
我建立了一个软件定时器,醒来一次DA14580,唤醒后,每一次,我的芯片将执行函数user_gpio2_handler()。
关于控制器之后,我不是很清楚,我的意思是我可能没有设置它,你能不能给我一些提示?
嗨杰瑞,
所以,你已经设置了一个内核定时器,以唤醒和两个GPIO中断和每个设备从定时唤醒从引脚IRQ时间2.9被触发?该装置可以通过其被认为是BLE事件的计时器,并通过向上控制器(或唤醒定时器),则设备不能经由标准GPIO的IRQ醒来之后任一醒来。如果在计时器到期和设备唤醒并在那一刻,你从口2.9 IRQ我可以假设,这意味着挥霍中断。如果在没有睡眠模式下配置您的设备,你也看到持续触发中断?另外为了使用外设时,GPIO中断和唤醒控制器,请使用驱动程序,在第10段看看UM-B-051 da1458x软件平台参考.pdf,10.3节介绍了GPIO驱动和10.7唤醒定时器。另外设置的GPIO在PRIO 0不是一个好主意,BLE中断应该是重中之重,它被设置为1。
谢谢mt_dialog.
嗨,MT_dialog,
我的顺序调整中断初始化代码,解决异常中断的问题。上面你提到的设备无法通过标准的GPIO IRQ醒来,如何设置设备,以使广大GPIO_IRQ醒来?
谢谢杰里
嗨2455321262,
有文件和指示的例子,请查阅我已经在上面以检查唤醒定时器API也SDK中ble_app_sleep模式对如何从外部中断唤醒,请检查的例子中提到的文件在ble_app_sleepmode项目user_app_adv_undirect_complete()函数,这是那里的设备,以便进入睡眠状态并等待外部唤醒配置。
谢谢mt_dialog.