你好,
我正在从事一个项目。默认情况下,该设备处于扩展睡眠模式。该设备需要唤醒并宣传自定义数据,以接收连接到加速度计设备的特定GPIO(端口X,引脚Y)的中断。请建议将GPIO配置为接收中断并唤醒设备所需的步骤。
谢谢
另外,我想问另一个查询。设备的默认状态是扩展睡眠模式。在2分钟的时间间隔内,该设备在使应用程序轻松地中断,广告数据然后入睡后醒来。我还想在上一个查询中所述的任何GPIO中断(加速度计中断)并广告数据后唤醒设备。但是,如果我调用Arch_ble_ext_wakeup_on(),则该设备仅在接收外部中断后才唤醒。但是我需要这两个事件才能唤醒设备。请建议可以做到这一点的方法。
嗨,Wisilica,
SDK中有BLE_APP_SLEEPMODE示例,该示例演示了设备如何从特定端口/引脚唤醒。因此,如果我假设设备启动时不会广告,但是它将等待唤醒中断,那么您应该在.app_on_set_set_dev_config_complete或.app_opp_on_db_init_complete中设置醒来的中断(如果您使用的是在.app_opp_on_db_init_complete中)您的设备是否)。您可以检查函数,以便在user_sleepmode.c文件中的BLE_APP_SLEEPMODE项目中的唤醒中断设置在user_app_app_adv_undirect_complete()函数中。同样,不要忘记在PERIPH_INIT()函数中正确配置GPIO。
关于您的第二个查询,当设备得到外部中断时,它会醒来,检查是否有未决的事件,然后Inmidiatelly跌回睡觉(因为无事可做)。因此,一旦设备中断,并且在处理设备时(当BLE_APP_SLEEPMODE处理中断时),就应该拥有从传感器中读取的数据。由于您拥有来自传感器的数据,因此您可以将这些数据放在广告结构中并开始广告过程。您无需调用Arch_ble_ext_wakeup_on()即可通过外部中断唤醒设备,但是即使您这样做,您仍然可以使用计时器来唤醒。
谢谢mt_dialog
你好,
另外,我想问另一个查询。设备的默认状态是扩展睡眠模式。在2分钟的时间间隔内,该设备在使应用程序轻松地中断,广告数据然后入睡后醒来。我还想在上一个查询中所述的任何GPIO中断(加速度计中断)并广告数据后唤醒设备。但是,如果我调用Arch_ble_ext_wakeup_on(),则该设备仅在接收外部中断后才唤醒。但是我需要这两个事件才能唤醒设备。请建议可以做到这一点的方法。
谢谢
嗨,Wisilica,
SDK中有BLE_APP_SLEEPMODE示例,该示例演示了设备如何从特定端口/引脚唤醒。因此,如果我假设设备启动时不会广告,但是它将等待唤醒中断,那么您应该在.app_on_set_set_dev_config_complete或.app_opp_on_db_init_complete中设置醒来的中断(如果您使用的是在.app_opp_on_db_init_complete中)您的设备是否)。您可以检查函数,以便在user_sleepmode.c文件中的BLE_APP_SLEEPMODE项目中的唤醒中断设置在user_app_app_adv_undirect_complete()函数中。同样,不要忘记在PERIPH_INIT()函数中正确配置GPIO。
关于您的第二个查询,当设备得到外部中断时,它会醒来,检查是否有未决的事件,然后Inmidiatelly跌回睡觉(因为无事可做)。因此,一旦设备中断,并且在处理设备时(当BLE_APP_SLEEPMODE处理中断时),就应该拥有从传感器中读取的数据。由于您拥有来自传感器的数据,因此您可以将这些数据放在广告结构中并开始广告过程。您无需调用Arch_ble_ext_wakeup_on()即可通过外部中断唤醒设备,但是即使您这样做,您仍然可以使用计时器来唤醒。
谢谢mt_dialog