【发布时间】:2011-10-06 13:34:34
【问题描述】:
我必须在 C++/Linux 中实现 J1708 协议。我想在用户空间中完全实现这一点,但我不知道这是否可能。
问题在于消息仅通过位时间分开。位时间对应于波特率:1/baudrate,在 J1708 上,波特率为 9600bps,大约为 104.17 微秒。该协议上的每条消息都由以 2 位时间 (208.34us) 分隔的字符组成,即所谓的“字符间位时间”。消息由不确定数量的字符组成,如果有 10 位时间 (1041.7us) 的暂停,则消息结束/完成。
我的想法是通过 POSIX 终端接口以阻塞模式读取字节并计算识别消息结束之间的时间。 有没有机会通过我的方法实现这一点,或者有人有更好的主意吗?
SAE J1708 参考:http://read.pudn.com/downloads133/ebook/567787/saej1708v002.pdf
【问题讨论】: