当前位置: 首页 > news >正文

全网唯一OpenCyphal/UAVCAN教程(8)libcanard介绍

文章目录

    • 1、关于libcanard
    • 2、libcanard主要数据结构和api

1、关于libcanard

libcanard是针对高集成实时嵌入式系统而写的 Cyphal/CAN 协议的紧凑实现。代码总行数不超过2000行。

不是一个开箱即用的库,是个半成品,因为这个库不包含IO层,说好听点就是平台无关的,具体来说就是没有实现can数据的收发,仅提供将准备发送出去的Cyphal消息转成can帧,以及将收到的can帧重组成Cyphal消息。

关于平台相关的数据收发实现,官方针对stm32和linux两个平台提供了一个实现参考:https://github.com/OpenCyphal-Garage/platform_specific_components

Cyphal协议栈本身由传输层和表示层两层组成。

表示层通过DSDL语言以及相关的数据类型表达的。而libcanard库则是以can作为底层协议的传输层实现。官方表示,libcanard不会支持其他底层协议。

2、libcanard主要数据结构和api

这里有几个关键的数据结构:

CanardFrame描述从can口收到的一个裸can帧。

/// CAN data frame with an extended 29-bit ID. RTR/Error frames are not u

相关文章:

  • Redis的主从复制搭建
  • java毕业设计物资租赁管理系统mybatis+源码+调试部署+系统+数据库+lw
  • java计算机毕业设计评标专家管理信息系统源码+数据库+系统+lw文档+mybatis+运行部署
  • java毕业设计希望酒店信息管理系统mybatis+源码+调试部署+系统+数据库+lw
  • 数仓项目拉链表
  • 如何写砸一本小说
  • java计算机毕业设计企业运营管理系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
  • AWS灾难恢复的重要参考指标
  • java基于springboot+vue的课程资源在线学习网站
  • 998. 最大二叉树 II(难度:中等)
  • 【原创】基于SSM的快递代取管理系统(快递代取系统毕设源代码)
  • 最长上升子序列
  • python毕业设计题目推荐飞机票销售订票系统
  • 如何恢复删除的数据(以损坏的U盘为例)
  • uverbs的交互方式——ioctl和write
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【笔记】你不知道的JS读书笔记——Promise
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • bootstrap创建登录注册页面
  • CSS实用技巧干货
  • django开发-定时任务的使用
  • Effective Java 笔记(一)
  • HTTP那些事
  • Java 内存分配及垃圾回收机制初探
  • Java,console输出实时的转向GUI textbox
  • jquery ajax学习笔记
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • leetcode46 Permutation 排列组合
  • mac修复ab及siege安装
  • vuex 笔记整理
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 关于springcloud Gateway中的限流
  • 将回调地狱按在地上摩擦的Promise
  • 前端路由实现-history
  • 驱动程序原理
  • 算法---两个栈实现一个队列
  • 物联网链路协议
  • 小试R空间处理新库sf
  • 异常机制详解
  • 自定义函数
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Mac 上flink的安装与启动
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​【已解决】npm install​卡主不动的情况
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • (0)Nginx 功能特性
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)常见O(n^2)排序算法解析
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm高校实验室 毕业设计 800008
  • (一一四)第九章编程练习
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法