中断被禁用的最大时间

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
kvenkatraman
离线
最后看到:3年11个月前
加入:2017-05-03 22:26
中断被禁用的最大时间

BLE堆栈中中断被禁用的最大时间是多少?

我使用DA14681 dev kit (PRO)和使用pxp_reporter的例子。我修改了示例,添加了一个hw_timer0,在计时器ISR中,我只是切换了一个I/O行,并查看O -scope上的周期。定时器被配置为每500微秒中断一次,但我在o-scope上看到>200微秒的抖动。但是,当我禁用pxp_reporter任务(注释掉该任务的创建)时,抖动会减少(约20微秒)。

这是我的定时器配置代码。让我知道定时器是否配置正确。

hw_timer0_init(空);
hw_timer0_set_clock_source (HW_TIMER0_CLK_SRC_FAST);
hw_timer0_set_fast_clock_div (HW_TIMER0_FAST_CLK_DIV_2);
hw_timer0_set_pwm_mode (HW_TIMER0_MODE_CLOCK);
hw_timer0_set_t0_reload(2000、2000);
hw_timer0_set_on_reload (200);
hw_timer0_register_int (timer0_interrupt_cb);
hw_timer0_enable ();

关键词:
设备:
MT_dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2015-06-08 34
嗨kvenkatraman,

嗨kvenkatraman,

祝福落在睡眠前的问题是,它禁用中断了600年美国应该导致抖动,你所看到的,即使你有设备发生以来一直活跃BLE核心和系统的其余部分分离,当电源关闭。您可以尝试的是使用ad_ble_stay_active(true),这将迫使BLE保持活动,并将减少由于睡眠和唤醒BLE而引入的任何中断延迟。

由于MT_dialog

kvenkatraman
离线
最后看到:3年11个月前
加入:2017-05-03 22:26
添加“ad_ble_stay_active

添加“ad_ble_stay_active(true)”消除了抖动。

这是唯一的解决办法吗?如果是,功耗是多少?

MT_dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2015-06-08 34
嗨kvenkatraman,

嗨kvenkatraman,

是的,就我所知,这是唯一有效的解决方案,你必须让BLE核心始终保持清醒,以避免唤醒和睡眠的中断延迟,关于功耗,通过对接近报告器的一些初步测量,如果BLE保持活着,而不是在每一次BLE事件中醒来,它大约额外0.4mA。

由于MT_dialog