linux python c 串口,linux 下的串口通信 python代码

串口通信

摘要

之前要基于树莓派做一个设计,在这里面由于需要使用一个USB外设,

没办法只能通过串口通信来从USB外设那里读取数据。

外设的检测

首先在目录下,确认外设的名称(这一步是所有的前提,之前一起做的一同事就是因为这个外设都没有驱动起来),可以使用以下步骤来完成目标:

1.首先将usb设备查到USB接口中,USB设备是热插拔的,不用断电即可插入。

2.执行 ls /dev指令查询 /dev 目录下的设备名称,看是否存在类似于 ttyUSB的设备,如果有,那可说设备插入成功了

3.将设备从树莓派上拔出,重新执行 ls /dev指令,若2步骤中的设备名消失,则2中设备名即为我们所需的设备名。(如在我的个人pc上设备名为 ttyUSB0)

串口通信软件minicom的配置和安装

在linux内置的源里会有minicom,因此可以使用一条简单的命令,即可安装我们的软件。

sudo apt install minicom

sudo minicom -s#配置minicom

1.选择Modem and dialing

94168e580466a4c61b6bde6bbfa52714.png2.将文件的A B K 选项内容删掉

106295349f0fa6e39718e945fdd56326.png3.选择 Save setup as dfl 保存设置

3cb62847b9352d38907432f992171dcb.png

之后再退出就好了,此时连上设备,打开minicom就可以看到从串口读到的数据了。

在运行以下Python程序就可以实现将数据读到程序中并且使用。

python通信源代码

#--*encoding:UTF-8*--

import serial

import os

portx="/dev/ttyUSB0"

bps= 9600

timex=5

def posiion_get():

ser = serial.Serial(portx, int(bps), timeout=1, parity=serial.PARITY_NONE,stopbits=1)

if (ser.isOpen()):

print("open success")

os.system('minicom &')

#ser.write("hello".encode())

line = ser.readline()

if(line):

#print(str(line) )

temp = str(line)

temp = temp.split('=')

#print(temp)

temp_x_y=[]

for i in [1,2]:

tempq=temp[i]

tempq=tempq.split('C')

tempq=int(tempq[0])

temp_x_y.append(tempq)

#print(temp_x_y)

line=0

return temp_x_y

(x,y)=posiion_get()

print(x,y)

## 希望大家多多指教,共同进步

标签:temp,python,minicom,tempq,linux,print,串口,设备

来源: https://blog.csdn.net/qq_42935317/article/details/97103779

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值