通信表实施

时间:2018-02-19 14:22:15

标签: c++ multidimensional-array can-bus communication-protocol

我一直在研究嵌入式软件。其中一项要求也是 通过专有协议通过CAN进行通信。沟通的核心 protocol是一个包含所有通信变量的通信表。 每个变量都有其他信息,例如识别号码,名称, 缩放系数等。

该通信表分为所谓的块,每个块包含 几个所谓的记录。一条记录包含有关一个变量的信息。

块中的块和记录都不构成连续 数字序列。块编号和记录之间存在“间隙” 数字。因此,表格可能就像这样:

方框13:记录01,记录04,记录08; 第15块:记录02,记录03; 第18块:记录06

我一直在考虑使用sutaible数据结构来实现这样的 表。我的第一个想法是一维数组包含结构 每个数据块的描述。它表示块号,此处的记录数 阻止和指向块中第一个记录的指针。每个块将实现为 包含单个记录作为结构的一维数组 价值,名称,缩放系数等。

该软件是用C ++编写的,所以我一直在考虑二维 对象数组(每个记录将实现为Record类的实例)。

我需要经常在这张桌子上搜索,所以我决定利用这个事实 一个块中的块和记录总是以ascendent方式排序 根据他们的身份证号码,我将实施二进制文件 搜索算法。

我非常感谢任何对我的想法的评价。提前感谢任何人 建议。

0 个答案:

没有答案