工作中通讯相关知识记录。

1、通讯报文相关

①Bit位:计算机中最小存储单元,每一位可表示0或1。

②字节(Byte):1Byte=8Bit。相当于1个字节需要八位二进制表示。

通常在使用过程中一个字节用两位十六进制表示。比如:0xEF = 1110 1111。

③有符号整型和无符号整型

无符号整型:十进制 3 用十六进制表示 0x03

有符号整型:十进制-3用十六进制表示0xFD

负数换算过程:

1.取负数的绝对值:  3

2.换算成二进制: 0000 0011

3.取反码: 1111 1100

4.反码结果最低位补1:  1111 1101

5.转成十六进制 0xFD

注:上述过程逆转,即把十六进制转成负数。同时0xFD转成无符号整型为253。所以在数据定义时分为有符号整型和无符号整型。

④位操作运算符

有时候在存储时会取对应字节的一部分,这时候要用到位运算。

比如在Qt中,定义无符号整型:quint a = 500,换算成十六进制:0x01F4,对应二进制为:0000 0001 1111 0100

如果要获取数据的低八位:0xFF&a = 0xF4 = 1111 0100;

取高八位:0xFF(a >> 8) = 0x01

操作符 & 表示做与运算,0xFF&a 表示只取a的低八位,即 0xF4。

操作符>>8 表示整体右移8位。即0x01F4 >> 0x0001 

⑤小数转十六进制

举例1234.567转化为十六进制过程:

先处理整数部分:1234 = 4D2

小数部分处理(小数部分*16取整数):

0.567*16 = 9.072 取 9 

0.072*16=1.152 取 1

0.152*16=2.432 取 2

0.432*16=6.912 取 6

........

依次取小数位(小数部分可能无限延长,这里只取后四位),最后结果为4D2.9126

2、Linux下的Qt开发和运行

①在Qt Creator开发环境下配置可用的设备类型

点击Qt Creator中的工具->选项->设备。添加可用的设备类型,如下图所示

配置完成之后,把自己的工程切换到项目模式,如下图所示,点击arm,激活生成arm程序版本。

然后在构建程序版本的时候选择对应的需要的程序。

②将可执行程序发布到工控机或者对应的硬件控制单元

将生成对应的arm程序拷贝到对应的Linux系统工控机中,进入对应的程序目录。

输入:./your app &   ---使程序以后台方式运行。

输入:ps  -----查看进程列表是否有启动的程序。

注:arm程序没有编译成功,确定是否安装了对应的构建套件(Kit)

        针对后台运行程序,一定要做打印日志等操作,方便发现问题所在和调试程序。

3、硬件设备和工作主机的连接

注:本标题下内容只针对作者工作中的一些问题处理,不具有参考性。

①设备通过串口和主机连接,主机要安装好串口驱动,方便主机初始化时用串口进行设置。

②设备和主机进行网线连接之后,要设置主机的网络适配器中IP和设备中IP保持在同一个网段,保证主机可以和设备可以互相ping通。

③主机每次重启要设置VMnet1和WMnet8的IP地址,并重启虚拟机。否则虚拟机无法和主机进行通讯。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值