你好,我在使用DA14681开发产品时,根据产品功能需要da在睡眠状态下,周期唤醒判断一个外设IIC数据,以此判断da是否进入工作模式。
现在实现代码配置如下:
1 .工程使用DA1468x_SDK_BTLE_v_1.0.6.968 Pxp_reporter;
2 .睡眠模式配置:pm_set_sleep_mode (pm_mode_extended_sleep);
3 .广播间隔配置:set_advertising_interval (ADV_INTERVAL_POWER);
在以上配置下,da能够正常进入扩展模式,并且功耗和官方文档“权力- b - 037 DA1468x measurements_v1.3.pdf”描述的一致。
我想利用附件中da的ble唤醒那段时间去访问iic,是否可以吗?
如果可以,应该在哪里加入iic访问代码?
注da的iic访问代码在正常工作模式下是可以成功读取外设参数的。
期待回复!
关键词:
设备:
如果只是单纯要实现周期唤醒进行I2C操作的话,用一个定时器配合I2C适配器里面自带的唤醒调指标就可以。
醒来进行BLE广播的周期并不是稳定的,你是为了功耗方面的考虑才想把这个过程一定加在祝福过程里的吗?
是的,我就是为了使DA的整体功耗做到最低,不想再起计时器唤醒,而是想直接在祝福广播唤醒时间段,判断iic外设。
祝福广播周期不稳定没关系,只要唤醒能够读取到iic外设的参数,即可。
请问
1 .在祝福广播唤醒时间段如何加入iic判断?
2.我尝试过在da进入扩展模式后,直接在freertos起个任务,周期判断iic外设,这时参数读取出来是不对的。
但是任务中同时uart打印信息,又是正常的。这个现象怎么解释?
期待Qinjiny_Dialog和各位网友的回复。
想请问一下如果使用i2c广告的唤醒定时器回调+该如何配置软件代码。
定时器定时唤醒时间。
i2c适配器看到这个函数:
Const adapter_call_backs_t ad_i2c_pm_call_backs = {
.ad_prepare_for_sleep = ad_i2c_prepare_for_sleep,
.ad_sleep_canceled = ad_i2c_sleep_canceled,
.ad_wake_up_ind = ad_i2c_wake_up_ind,
.ad_xtal16m_ready_ind =零,
.ad_sleep_preparation_time = 0
};
逻辑是怎样的?
技术工程师请支持下。
嗨,index219
是不是可以新建一个任务,处于等待唤醒回调的通知。当任务接到通知的时候,去操作IIC,应该就是CPU处于唤醒的时候了。
你可以在在蓝牙广播的时候刷屏的,刷屏的时候没完成之前不能让系统休眠