通过串口给雷达下发参数读取数据

通过python程序给通过串口给硬件下发参数并且接收硬件发过来的数据(超详细教程)

1、首先安装serial和pyserial库。 如果运行程序之后报错说没有这两个库,就把这两个库卸载掉,然后重新安装,安装的顺序是先serial再pyserial。

2、代码中只需要导入serial库即可,即import serial

3、首先初始化打开串口,里面的参数一定要设置正确。即
(串口号,波特率,超时时间,停止位,字节大小)

		ser=serial.Serial(COM,921600,timeout=0.1)

4、然后通过一个while循环向串口下发参数。一般是下发文本,在下发的文本后面一定要加上换行符\r\n,否则参数会一直在缓存区,下发不到串口。因为串口的传输内容是二进制的,所以需要将下发的参数编码一下,通过utf-8来编码。有些下发参数的语句是写在循环外面,我在这里是写在循环里面才下发成功的。
参数只能下发一次
参数只能下发一次
参数只能下发一次

        send_time=0    #控制参数只下发一次
        while True:
        	if send_time==0:
             	ser.write('hello\r\n'.encode("utf-8"))
             send_time+=1

5、然后通过readline()读取串口发出来的数据

		data = ser.readline()

完整代码:

import serial
ser=serial.Serial('COM19',921600,timeout=0.1)
while True:
      ser.write('scan start\r\n'.encode("utf-8"))
     data = ser.readline()

debug

如果不能成功下发参数或者接收数据,按照下列做法debug即可。
1、首先使用串口助手进行操作,看是否可以正常下发和接收数据
2、使用串口助手可以正常工作。检查serial.Serial()里面的参数和串口助手是否一致。
3、参数正确的情况下,首先使用串口助手给硬件下发参数,然后关闭串口助手(硬件一直连着电脑),使用代码直接读串口数据,看是否可以读取成功。如果不能读取成功,可能读取有问题。
4、如果读取数据没问题,首先使用代码给硬件下发参数,然后停掉程序。打开串口助手,看是否能收到数据。如果不能收到数据,说明是下发参数的代码写得有问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值