吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1724|回复: 6
收起左侧

[学习记录] 树莓派zero 2w打开UART串口

[复制链接]
minblack3 发表于 2022-4-26 13:17
整理自B站树小悉https://www.bilibili.com/video/BV16U4y1879Q?p=12
树莓派zero 2w有两个uart串口
一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)
Mini UART没有时钟源,必须由内核提供时钟源,而内核频率本身是变化的,导致Mini UART速率不稳,无法正常使用。

树莓派串口:
        主串口------>可以通过引脚实现通讯
        辅助串口--------->不能使用GPIO引脚通信,默认被分配给蓝牙端
注意:默认情况下,迷你串口是禁用的,无论将它指定为主UART还是辅助UART

现在我们需要把硬件串口设置为主串口,并解除蓝牙功能对硬件串口的占用

在树莓派的官方描述中可以看到,mini串口的的代号为ttyS0,硬件串口的代号为ttyAMA0,主串口的标识符为serial0,辅助串口的标识符为serial1
官方对树莓派串口的介绍.png

1、在终端使用命令  
[Asm] 纯文本查看 复制代码
ls /dev -al
查看串口打开情况

终端输入命令查看串口情况1.png
串口未打开.png
我们可以看到并没有serial0,说明主串口没有打开;而且硬件串口ttyAMA0被分配到了serial1作为辅助串口
mini串口ttyS0并没有显示,因为mini串口在默认情况下是禁用/关闭


所以接下来需要打开mini 串口ttyS0

2、打开mini UART

①点击左上角树莓图标
②点击首选项
③点击 Raspberry Pi Configuration 选项
打开设置树莓派界面.png

在弹出的设置窗口中选择第三个lnterfaces按钮,将Serial Port设置为开启,Serial Console设置为关闭
设置serial开启.png

点击ok保存设置,这时会提示是否重启树莓派,选择yes立即重启


重启完成后在来看一下串口的打开情况,打开终端输入
[Asm] 纯文本查看 复制代码
ls /dev -al

串口打开但是未配置.png
现在可以看到mini串口ttyS0已经显示了,说明已经打开
但是硬件串口ttyAMA0依然是作为辅助串口serial1


所以接下来需要将硬件串口设置为主串口serial0


3、编辑config.txt文件,将硬件串口设置为主串口

打开终端输入命令
[Asm] 纯文本查看 复制代码
sudo nano /boot/config.txt
编辑文件
输入指令编辑文件.png

在文件末尾加入两行代码
[Asm] 纯文本查看 复制代码
dtoverlay=pi3-miniuart-bt
force_tubo=1

将蓝牙分配到mini uart串口
编辑设置文件并保存.png

编辑好后
Ctrl+s 保存文件
Ctrl+x 退出编辑

再次重启树莓派,设置完成。


4、查看设置完后的串口信息
上一步树莓派重启完成后,打开终端输入
[Asm] 纯文本查看 复制代码
ls /dev -al
再次查看串口信息


查看串口设置完成.png
这时可以看到硬件串口ttyAMA0和mini串口ttyS0都已经显示出来,这代表两个串口都已经打开
并且硬件串口ttyAMA0分配到了serial0作为主串口,mini串口ttyS0分配到serial1作为辅助串口
说明我们的设置已经完成


接下来连接实物进行测试


5、实际编写测试串口是否能用

首先在树莓派引脚图的网站可以看到zero的GPIO14GPIO15分别是UART串口的 TXRX (参考 https://pinout.xyz/ ) 树莓派引脚详情
pi zero引脚图.png

然后用一根 母-母 的杜邦线将GPIO14GPIO15两个引脚相连接(自发自收,方便调试)
树莓派接线.jpg

打开编程软件,这里用的是thonny,输入代码:
[Python] 纯文本查看 复制代码
import serial

portx = '/dev/ttyAMA0'
bps = 9600    #波特率设置为9600

ser = serial.Serial(portx,baudrate=bps)
ser.write('Hello world\n'.encode('gbk'))    #将字符串转换为字节才能写入

data = ser.readline()
print(data.decode('gbk'))


测试.png
可以看到输出的数据与写入的数据一致

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hackerbob 发表于 2022-4-26 13:53
这方面没研究过
lantern5032 发表于 2022-4-26 13:55
雷欧库珀 发表于 2022-4-26 14:13
zxf3141592654 发表于 2022-4-26 14:53
最近一直在看树莓派    涨姿势了
yiwozhutou 发表于 2022-4-26 17:35
最强王者 树莓派  我看老外 弄的 感觉好玩  
 楼主| minblack3 发表于 2022-4-27 00:01
雷欧库珀 发表于 2022-4-26 14:13
蓝牙和串口可以同时开嘛?

这就不太清楚了,我刚开始学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-30 09:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表