app_easy_msg API

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
mkelwood
离线
最后看到:3周2天前
加入:2017-05-19的人们
app_easy_msg API

我想使用app_easy_msg API从ISR向应用程序任务发送消息(以触发执行太长而不能包含在ISR中的代码)。app_easy_msg_utils文件显示了如何注册回调并获取消息标识符,但是没有用于发送消息的函数。我没有看到这个API在任何示例项目中使用。是否有一个如何使用app_easy_msg实际发送消息的示例?

另外,如果回调函数可以接受一个指向参数的指针(将与消息一起发送),那就更好了。如果不修改app_easy_msg_utils.c文件,我不认为有任何方法可以做到这一点,因此使用全局变量将信息传递给回调可能更容易,但肯定不是首选的方法。

如果有更好的方式将消息从ISR发送到TASK_APP任务(可能在user_catch_rest_hndl()函数中处理),那么请解释。谢谢!

设备:
MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨mkelwood,

嗨mkelwood,

app_easy_msg实用程序是从app_easy_wakeup实现中使用的,所以为了设置自定义消息,你应该执行以下操作:

  • 您可以使用app_easy_msg_set(your_callback)设置自定义消息,以便设置发送消息时应执行的回调,该函数将将消息放入可用的消息池中,并返回ke_msg_id_t your_identifier类型的标识符。
  • 您应该存储该标识符,为了触发消息,您将调用ke_msg_send_basic(your_identifier, TASK_APP, 0);
  • msg实用程序是如何产生的,不,你不能向回调传递参数。

如果您使用app_easy_msg_utilities()来发送自定义消息,那么app_msg_utils_api_process_handler()将处理消息并提供相应的回调。您还可以尝试在您的概要文件中声明自定义消息,例如在自定义概要文件中,并仅使用ke_msg_send_basic()函数来发送它,这样您就能够在catch_rest处理程序中捕获它。

由于MT_Dialog