Raspberry Pi Zero W:串口(UART)的配置和使用

开启UART

据官方所言(https://www.raspberrypi.org/documentation/configuration/uart.md):树莓派CPU内部有两个串口,一个PL001 UART和一个Mini UART。Mini UART没有时钟源,必须由内核提供时钟源,而内核频率本身是变化的,导致Mini UART速率不稳,无法正常使用。RPI ZERO W与以往老版本RPI不同,没有将PL011 UART分配GPIO中的UART(GPIO14和GPIO15),而是将其分配给了蓝牙模块。我们需要关闭蓝牙对PL011 UART的使用,恢复GPIO串口对PL011 UART的使用。

查看映射关系:

$ sudo ls -l /dev

serial0是GPIO中的UART,ttyAMA0是PL001 UART。可以看到并没有serial0文件

修改cmdline.txt文件

编辑cmdline.txt文件

$ sudo nano /boot/cmdline.txt

原来cmdline.txt文件的内容如下:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=a05c3c8f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

将有关console的内容全部删掉,修改后的cmdline.txt文件内容如下:

dwc_otg.lpm_enable=0 root=PARTUUID=a05c3c8f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

(2)关闭板载蓝牙

禁用蓝牙功能

$ sudo systemctl disable hciuart

编辑config.txt文件

$ sudo nano /boot/config.txt

增加如下一行:

dtoverlay=pi3-disable-bt

重启树莓派

$ sudo shutdown -r now

再次查看映射关系,发现serial0成功映射到ttyAMA0

(3)禁用串口的控制台功能

编辑config.txt文件,增加如下一行:

enable_uart=1

也可以使用raspi-config自动操作:

sudo raspi-config

选择第五项

开启硬件串口

(4)重启树莓派

$ sudo shutdown -r now

4.2 测试

(1)安装并导入serial模块

$ sudo pip install pyserial$ python >>> import serial

如图所示模块导入成功:

开启串口

>>> ser = serial.Serial('/dev/ttyAMA0',19200)

使用串口助手发送“hello”

成功读取到串口助手发来的数据

# 读取5个字符

>>> ser.read(5)

# 关闭串口

>>> ser.close()

c++ 测试串口速率_Raspberry Pi Zero W:串口(UART)的配置和使用相关推荐

  1. c语言接收rs232串口速率,C语言在RS232串行接口通信中的实现

    串口通信是一种广泛使用且实用的通信方式,介绍RS232串行通信的联结方式,研究利用c语言编程实现RS232串行通信的过程.结合实际应用,在约定双方串行通信协议的基础上,运用C语言开发的串行通信软件,实 ...

  2. 香蕉派 BPI-M2 Zero 四核开源单板计算机 , 全尺寸兼容raspberry pi Zero W

    Banana pi BPI-M2 Zero 是一款极小形的开源单板计算机,采用全志H2+芯片方案设计,也可以直接使用全志H3,尺寸大小完全与Raspberry pi Zero W 一样,尺寸大小为60 ...

  3. E22 SX1268 LoRa模块传输测试(定点模式)发送接收串口消息 windows与linux环境下C语言代码

    前言 近期因项目需求,对LoRa透传模块进行测试学习. 本次测试的模块是成都ebyte公司的LoRa模块,型号为SX1268.该模块采用串口透传模式. 本博客主要记录了模块的定点传输模式,透传模式相对 ...

  4. 使用Raspberry Pi Zero W和只读文件系统升级DakBoard系列日历

    Earlier this week I built a Family Calendar using a used flat screen monitor and a Raspberry Pi 3 I ...

  5. linux下串口通信程序,关于Linux下串口通信的一点心得

    1. 打开串口 与其他的关于设备编程的方法一样,在 Linux 下,操作.控制串口也是通过操作起设备文件进行的.在 Linux 下,串口的设备文件是 /dev/ttyS0 或 /dev/ttyS1 等 ...

  6. 51单片机stc15w204s串口通信发数据接收数据串口中断发中文字符串完美运行软件延时发送一字节函数全注释

    这里写自定义目录标题 KEIL自己先调试通了然后再说下面的事 51单片机stc15w204s串口通信直接上文件 KEIL自己先调试通了然后再说下面的自己看看就可 KEIL自己先调试通了然后再说下面的事 ...

  7. 【串口通信】K210与STM32串口通信、K210与OpenMV串口通信

    [串口通信]K210与STM32串口通信.K210与OpenMV串口通信 串口通信 前言 为何需要串口通信 K210如何进行串口通信 K210串口配置 K210串口发送相关定义 K210串口发送测试 ...

  8. python树莓派串口通信实例_树莓派通过串口发送数据

    可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...

  9. python串口数据绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Sc ...

最新文章

  1. Selenium如何通过location和size定位元素坐标?
  2. mybatis教程--一对多查询
  3. BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】
  4. 利用mysql提供的c语言接口操作数据库
  5. 简单的UTF8编码生成
  6. MATLAB Robotic Toolbox 机器人工具箱示例
  7. python分治算法_分治法及其python实现例子
  8. 微软的报表工具 SQL Server 2000 Reporting Services 评估版
  9. python编写es脚本_Elasticsearch 参考指南(如何使用脚本)
  10. crawler4j源码学习(1):搜狐新闻网新闻标题采集爬虫
  11. keil4出现目标未被创建_STM32入门系列-创建寄存器模板
  12. 玩qq游戏提示计算机内存不足,我有时玩QQ游戏就出现虚拟内存不足.要怎么 – 手机爱问...
  13. 水彩绘画艺术效果PS动作
  14. Mac安装CentOS8.3时出现,安装源设置基础软件仓库时出错
  15. vue使用Moment插件格式化时间
  16. VMware Workstations 打开.vmx 虚拟机无反应问题
  17. 高通(Qualcomm)LK源码深度分析(三)
  18. aspose-words更新域/目录(页码不准确问题)
  19. 折叠屏显示器比折叠屏手机更有价值
  20. android变身蓝牙键鼠,使用BluetoothHidDevice将安卓手机同时模拟成鼠标和键盘

热门文章

  1. LIC Fusion 2.0:滑动窗口法平面特征跟踪的激光雷达惯性相机里程计
  2. Zbrush2021写实人物肖像雕刻学习教程
  3. leetcode-86 分隔链表
  4. L1-023 输出GPLT (C++解决,含题解)
  5. P2172 [国家集训队]部落战争 二分图最小不相交路径覆盖
  6. 用composer安装laravel-bjyblog
  7. alpha阶段个人总结(201521123031林庭亦)
  8. 拾人牙慧篇之———QQ微信的第三方登录实现
  9. lispbox 安装运行.sh的时候出现 lispbox.sh: 2: lispbox.sh: Bad substitution
  10. PHP简单封装MysqlHelper类