第一章 第八节 自己写线程通信orb机制-闫刚

orb是px4中非常重要的数据交互手段,承担这飞控系统中所有 传感器,GPS, 姿态的信息。 orb主要接口有orb_publish, orb_check.   我们今天自己写1个orb通信机制,来深刻膜拜px4的思想

适用平台: linux, stm32, 代码托管在github,路径: git clone https://github.com/yangang123/cpp_test.git

1. 文件一共是5个

  • makefile 负责构建项目
  • wheel_mesg.c 负责旋钮消息的实现
  • wheel_mesg.h 负责旋钮消息的接口
  • wheel_mesg.sh是负责旋钮的消息的编译和执行脚本

第一章 第八节 自己写线程通信orb机制-闫刚

 

2.  wheel_mesg.h中的orb消息接口

接口中主要publish和check,copy 对消息的发布和查询的封装

第一章 第八节 自己写线程通信orb机制-闫刚

3. wheel_message.c中是旋钮消息的实现

wheel_orb_publish把消息缓冲到orb的内存池中,wheel_orb_check,检查数据有新数据到来,同时把数据通过orb_copy进行copy出来

第一章 第八节 自己写线程通信orb机制-闫刚

 

4. main.c 中实现简单的消息发布和消息查询接收

第一章 第八节 自己写线程通信orb机制-闫刚

查看执行:

第一章 第八节 自己写线程通信orb机制-闫刚

到这里,我们就学会发送1个消息,接收1个消息,整个消息的原理就是3个缓冲区,发送者先把数据发送到orb的内存池,接收者从orb的内存池中获取数据.

相关文章:

  • 2021-12-29
  • 2021-12-02
  • 2021-11-20
  • 2021-10-01
  • 2021-08-02
  • 2022-12-23
猜你喜欢
  • 2021-05-17
  • 2021-08-08
  • 2021-05-05
  • 2021-06-02
  • 2021-05-29
  • 2021-09-30
  • 2021-06-18
相关资源
相似解决方案