你好,
我们尝试构建BLE应用程序,该应用程序应根据同步和异步事件的结果从扩展的睡眠模式唤醒。
基于唤醒定时器,根据UM-B-006文档完成了异步事件的实现。
1)在ISR例程中 - 我们设置Event_Flag
2)在挂钩#2 - app_asynch_proc() - 我们清除event_flag并将消息发送到应用程序任务
3)在App Task中,我们做我们必须做的事情......
问题是外部事件与应用程序任务中的处理之间的巨大延迟。其值在5到数百毫秒之间。
奇怪的是延迟的持续时间是外部事件之间的间隔的函数。例如,如果在以前的外部事件之后通过了几秒钟,则延迟将是大约5毫秒。如果先前的外部事件后30分钟过渡,则延迟将是约130毫秒。
事实上,我们不能承受超过1毫秒的延迟
如果有解决方案,请建议。
丹,Tritech.
设备:
嗨Bendaa,
请检查这篇文章http://support.dialog-semicondiondiondum/wake-external-event
谢谢mt_dialog.
嗨MT,
我在另一个帖子中看到了你的回复,但它没有回答这个问题。
当外部中断发生时,我们希望MCU立即对中断响应,而不是5毫秒。
我们希望只有外部中断应该由MCU处理,没有任何其他任务。
那么为什么在我们的情况下,对外部中断的响应不是立即?
谢谢。
嗨Benaa,
在你以前的帖子中你提到你在醒来时经历了超过5毫秒的时间,这不是正常醒来的时间,而且最重要的是我之前在我以前的帖子中告诉过你的原因之一。但是,当从外部中断唤醒时,它需要一些时间,以便完全唤醒4-5毫秒。这就是正常的。没有办法在1毫秒下完全唤醒。
谢谢mt_dialog.