canoe可以使用仿真总线去操作,但是cantest必须连接硬件设备
两个can盒都可以互相发送报文,can高连接can高 can低连can低
cantest工具可以接收和发送数据帧
使用cantest连接can盒,选择设备之后把全部can通道打开之后波特率选择500kps
报文默认是8个字节64位 但是这里EngineState是2个字节16位 2个信号 OnOff和EngineSpeed
我们一般使用candb++的时候都是双击之后选择layout
通过图片可以很明显得看出来两个字节的颜色 第一个0字节OnOff 占1位 其他15位全是EngSpeed
假设我们把onoff设置为1 enginespeed设置为1000 通过计算器输入10进制数据 1000 可以得到二进制数据 0011 1110 1000
然后通过candb++里面的signal 查看 byte order 是intel类型的 高位在后 低位在前 就是字节0 在后 字节1在前
一个字节是8位 低位在前 高位在后
字节0就是低位在前面 选7位+1即可 因为1表示起始帧 1101 0001
字节1就是高位在后00111 补齐就是0000 0111
1、二进制
二进制用B表示,其中B是英文二进制Binary的首字母。
2、四进制
四进制数用Q表示,是以4为基数的进位制,以 0、1、2 和 3 四个数字表示任何实数。
3、八进制
八进制用O表示,缩写Octal或OCT或O,八进制的基数R=8=2^3,有数码0、1、2、3、4、5、6、7,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。
4、十进制
十进制用字母D来表示,其中D是英文十进制Decimal的首字母D。
5、十六进制
十六进制用字母H来表示,简写为hex,在c语言中用添加前缀0x以表示十六进制数。它由十六个数码:数字0~9加上字母A-F组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一。例如A代表10,F代表15。
例如0xAF转换为十进制则是A的(10乘以(16的一次方))加上F的(15乘以(16的0次方))等于175
可以通过在线的十六进制转换工具,如“在线16进制转10进制工具”,输入十六进制数,即可快速得到对应的十进制数。例如十六进制转十进制| 16进制转10进制 | 在线进制转换工具
二进制转换成十六进制可以使用8421 看四个位上0就是没有1就是有 然后8421 有的就加起来即可