第八节 自己写线程通信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是负责旋钮的消息的编译和执行脚本


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

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


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

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

扫描二维码关注公众号,回复: 1810034 查看本文章



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


查看执行:

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

猜你喜欢

转载自blog.csdn.net/yangang185/article/details/80026592