树莓派使用mini串口与外部进行通信

目录

一、外设IO口定义说明

​二、Serial 配置

三、设置硬件串口为GPIO串口

四、minicom串口助手测试


 

一、外设IO口定义说明

从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。


二、Serial 配置

首先运行ls /dev -al命令查看到默认的串口分配方式,如下图所示:

由于硬件串口分配给板载蓝牙使用,所以要释放掉,并设置硬件串口分配给GPIO串口。
首先登陆终端后,输入sudo raspi-config命令进入树莓派系统配置界面,选择第五个Interfacing Options:

进入P6 Serial

选择关闭串口登录功能,打开硬件串口调试功能:

完成后提示以下界面,按OK

在这里插入图片描述
 

三、设置硬件串口为GPIO串口

接着将串口配置为我们的GPIO串口,对输入sudo vim /boot/config.txt命令,将下面两行内容添加到最后:dtoverlay=pi3-miniuart-bt force_turbo=1
修改后保存并退出,内容如下图片所示:

重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:


四、minicom串口助手测试

首先输入sudo apt-get install minicom命令安装minicom,安装完成后,输入minicom -D /dev/ttyAMA0 -b 9600启动minicom,如图所示:

在这里插入图片描述

其中-D表示选择串口/dev/ttyAMA0,-b 设置波特率为9600,此参数可以不用设置,默认11520,并且退出minicom时需要先按Ctrl+A,再按Z,弹出以下菜单,0。
将树莓派与TTL对应接上,就可以通过PC串口助手与树莓派互相发送、接收数据,但是树莓派在发送数据时,命令终端并不会显示,如下图所示:

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在电脑和树莓派之间进行Python串口通信,你需要在两个设备上进行相应的设置。 首先,在电脑上安装`pyserial`库。你可以使用以下命令来安装它: ``` pip install pyserial ``` 然后,根据你的操作系统,找到电脑上分配给串口的名称。在Windows系统下,串口通常以"COMx"的形式命名;在Linux或Mac系统下,串口通常以"/dev/ttyX"的形式命名。 接下来,你需要连接树莓派和电脑的串口线,并确保它们之间的连接稳定。 在树莓派上的Python代码示例: ```python import serial # 打开串口 ser = serial.Serial('/dev/ttyUSB0', 9600) # 根据实际情况修改串口号和波特率 # 发送数据 ser.write(b'Hello from Raspberry Pi!') # 接收数据 data = ser.read(10) # 读取10个字节的数据 print(data) # 关闭串口 ser.close() ``` 在电脑上的Python代码示例: ```python import serial # 打开串口 ser = serial.Serial('COMx', 9600) # 根据实际情况修改串口号和波特率 # 发送数据 ser.write(b'Hello from PC!') # 接收数据 data = ser.read(10) # 读取10个字节的数据 print(data) # 关闭串口 ser.close() ``` 请注意,你需要根据实际情况修改串口号和波特率。确保在两个设备上使用相同的波特率。 这两个示例代码分别在树莓派和电脑上打开串口连接,并进行数据的发送和接收。你可以根据需要进行进一步的操作。 希望这能帮到你!如果还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值