我的项目是,汽车(CAN 1)通过Reciever (CAN2) 从NI PXI 7813R的硬件里模拟出含有帧的信息再反馈给汽车,此时,根据不同的Identifier查找之前建立好的.dbc文件,看看是否在database里面, 例如一个8个字的帧,前8个字节代表汽车转速,接下来8个字节代表发动机温度,目的在于根据实际情况可以监控汽车性能参数和对超出安全范围的错误值进行修改, 最终将数据通过Sender反馈给汽车.
我现在已经建立好了Sender 和Reciever的结构,包含传递时间,帧结构的8个字的数据,Identifier(Message ID)
我求助的是,如何方便快速的通过从硬件里模拟出来的Identifier从.dbc文件里查找到是否存在此Identifier,并读取Channel names, Startbit, Length of Bits等信息值,为的是,操作者可以方便的知道各个字节代表的物理意义,我尝试用Case事件的方法来判断,但是Identifier会有成百上千个,这样做起来应该不是最好的方法。
不知道哪位有相关的经验,非常希望得到指正,先谢过了
------解决方案--------------------
因为需要根据将Identifier进行处理,所以可以将Identifier进行分类,处理方法相同的放在一起,处理方法不同的不可能放到一块的,只能单独处理。
------解决方案--------------------
不太明白,你不是已经有数据库了吗,查找那不是很快的事情了?
------解决方案--------------------
用树结构吧,比如B+树
------解决方案--------------------
建立一个映射呢