第一章 第八节 自己写线程通信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出来

 

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

查看执行:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值