跳到主要内容

闪烁程序后GPIO中断问题

2个月前

闪烁程序后GPIO中断问题

张贴了安泰50分 5回复
0旋转

嗨,我已经开发了一个GPIO引脚的GPIO中断功能,当输入变低时触发回调并在与keil的调试会话上验证相同。当我向SPI闪存闪烁编译的BIN / HEX文件时,GPIO引脚低至闪烁时不会调用回调函数。上述计划在DA14531上完成开发套件 - USB

2个月前

PM_DIALOG.

嗨anith,

谢谢你的问题在线。您能否分享有关您的项目的更多见解?

是一个ble或非ble的例子吗?您是否使用了任何可用的睡眠模式?您使用了哪个SDK示例?

谢谢,PM_DIALOG.

2个月前

安泰 50分

你好,

是一个ble或非ble的例子吗?: - 这是BLE榜样

您是否使用了任何可用的睡眠模式?: - Hibernation,Arch_ext_sleep_on

您使用了哪个SDK示例?: - empty_peripheral_template示例

此外,我还删除了Development_Debug宏,并尝试了广告_Forever,我已经尝试了GPIO 11,6,1,如USB开发板上的GPIO中断。

编辑: - 如果我设置sleep_state_t app_default_sleep_mode = arch_sleep_off回调函数工作。

2个月前

PM_DIALOG.

嗨anith,

谢谢你的意见。对于调试目的,应定义development_debug宏。

您提到您使用的是使用休眠模式,因此我假设您停止广告并将设备放入休眠状态。

那么,你正在使用的按钮是为了从休眠中唤醒设备?

当设备正在进行时,您是否使用延长睡眠模式?

谢谢,PM_DIALOG.

2个月前

安泰 50分

你好

我使用GPIO中断从传感器读取数据,当数据准备好时,传感器提供低信号。我使用Arch_ext_sleep_on作为默认睡眠模式。如果没有连接60秒,我将停止广告并将设备放入休眠状态,如果连接到中央,我将初始化传感器,等待数据就绪信号,然后通过I2C读取传感器的数据。数据就绪信号将在1秒钟的时间间隔发生。我使用GPIO_ENABLEIRQ()函数来启用GPIO中断和GPIO_REGISTERCALLBACK()来为同一个分配回调。一切都在调试模式下正常工作,但如果我刷新程序,则不会被称为中断回调。我是否需要为我的应用程序使用wkupct_enable_irq()和wkupct_register_callback()?

2个月前

PM_DIALOG.

嗨anith,

我相信这与扩展睡眠模式有关。如果您使用的是延长睡眠作为默认睡眠模式,则设备将在广告或连接间隔之间进行睡眠。所以。请记住,在睡眠模式下,所有外围域都断电。我的建议是使用WKUP控制器进行此用例。有关WKUP控制器的更多详细信息,请参阅SDK6.0.14的BLE_APP_SLEEPMODE示例。

您也可以尝试禁用扩展睡眠模式。

谢谢,PM_DIALOG.