目录
前言
串口配置
1、查询串口当前分配情况
2、更换硬件串口为默认串口
串口工具minicom设置
1、安装minicom
2、minicom测试
2.1接线
2.2串口收发测试(Python)
2.3测试效果
前言
树莓派有2个串口,分别是硬件串口(/dev/ttyAMA0)和mini串口(/dev/ttyS0)
网上对硬件串口和mini串口的介绍如下:“硬件串口”有单独的波特率时钟源,性能高、可靠,“mini串口”性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此“mini串口”有个致命的弱点是:波特率受到内核时钟的影响,内核若在智能调整功耗降低主频时,相应的这个mini串口的波特率便受到牵连。
笔者在此先介绍使用硬件串口(/dev/ttyAMA0)的使用
串口配置
在开始配置前需要先打开树莓派的串口Serial Port,同时关闭Serial Console,(不仅限于这一种方法),我选择的演示步骤如下
设置完之后重启一下,最好再重启之后检查一下
1、查询串口当前分配情况
输入命令ls /dev/ser* -al即可查询
以我的为例,界面如下
这个的意思就是,我系统当前分配的默认串口就是硬件串口,可以直接看串口工具minicom设置
如果你的和我的相反那么需要修改一下配置请看2、更换硬件串口为默认串口
2、更换硬件串口为默认串口
输入命令sudo nano /boot/config.txt,如果nano编辑器使用的不习惯可以把nano换成vi,然后在该文本的最后添加以下两行内容,记得保存并退出
dtoverlay=pi3-miniuart-bt
force_turbo=1
我添加后的界面如下
此时重启树莓派,输入命令ls /dev/ser* -al即可查询当前串口分配情况(笔者已验证成功)
串口工具minicom设置
1、安装minicom
输入命令sudo apt-get install minicom
这个步骤太常规了,我就不贴图了
2、minicom测试
2.1接线
首先是找到树莓派的引脚分布情况,下图中已经圈出,然后将usb转ttl的RX接树莓派的TX,usb转ttl的TX接树莓派的RX,VCC和GND也是一定要接的!!!
不会的友友可以填鸭式学习,直接看我下面图中的接线,看杜邦线的颜色去接
2.2串口收发测试(Python)
我感觉运行C语言的文件需要先编译再运行,稍微有点繁琐,没有Python方便,所以演示的时候一般用Python演示,时间充裕的情况会将C语言的程序补充上。
新建文件和如何运行Python文件咱们也不多说了,不会的友友可以看我的初学树莓派——(三)树莓派点亮LED(Python,C)
import serial
import time
#open serial
ser = serial.Serial("/dev/ttyAMA0", 115200)#set up serial
def main():while True:# 获得接收缓冲区字符count = ser.inWaiting()if count != 0:# 读取内容并回显recv = ser.read(count) #树莓派串口接收数据ser.write(recv) #树莓派串口发送数据# 清空接收缓冲区ser.flushInput()# 必要的软件延时time.sleep(0.1)if __name__ == '__main__':try:main()except KeyboardInterrupt:if ser != None:ser.close()
2.3测试效果
在笔记本电脑上随便打开一个串口调试工具,我以XCOM为例做演示