协议解码介绍 =================================== **正点原子逻辑分析仪协议解码功能** 是基于 ``sigrok`` 项目中的 ``libsigrokdecode`` 源码而开发。 为了满足产品性能和功能的需求, 我们对 ``libsigrokdecode`` 的源码做了一部分修改, 详细修改内容请参考源码。 当然这不是本文存在的意义, 本文主要教大家如何在 ``ATK-Logic`` 软件中新增一个协议解码器: - 新增一个官方不支持的协议解码器 - 基于基础协议 (例如: spi), 新增一个上层协议 sigrok介绍 =================================== ``sigrok`` 是一个非常优秀的开源项目, 其中 ``libsigrokdecode`` 支持一百多种常见的协议, 基本可以满足工程师大部分的开发调试需求。 该项目支持各种设备类型 (例如逻辑分析仪、示波器等) , 大家有兴趣的话可以去以下官网了解一下。 相关信息可以参考以下官方链接: :: sigrok : http://sigrok.org/wiki/Main_Page github : https://github.com/sigrokproject libsigrokdecode : https://github.com/sigrokproject/libsigrokdecode 开发环境 =================================== ``libsigrokdecode`` 提供了一个通用的协议解码架构, 让我们很容易的为它增加新的协议解码器。 ``libsigrokdecode`` 可分为两个部分: ``协议解码库`` 和 ``协议解码器`` ``协议解码库`` 是由 ``C语言`` 编写的一个协议解码框架, 主要为 ``协议解码器`` 搭建一个运行环境。这部分代码我们可以不用去了解, 只用知道有这个东西即可。 ``协议解码器`` 是由 ``Python`` 编写的, 与协议解码相关的脚本文件, 负责处理协议逻辑, 并将解析后的协议数据返回给上层应用。新增一个协议解码器, 其实就是为了编写这个 ``python`` 文本。 ``协议解码器`` 基于 ``Python (>=3.0)`` 实现, 如果想新增解码器, 必须先学会 **Python3** 的基础语法。这对于有编程基础的人来说, 学习起来还是非常容易的。 .. warning:: - ``ATK-Logic`` 软件基于 ``python3.7`` 环境。 - ``ATK-Logic`` 软件可以直接使用 ``libsigrokdecode`` 项目中提供的协议解码器, 无需做任何修改。 源码下载 =================================== 正点原子协议解码库源码: `https://github.com/alientek-openedv/atk_libsigrokdecode `_ sigrok 官方下载链接 : `https://github.com/sigrokproject/libsigrokdecode `_