树莓派初学者指南:硬件串口收发教程(五)

目录

前言

串口配置

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,(不仅限于这一种方法),我选择的演示步骤如下

e14fec7d12db41cdb7ca091bc6fcec8f.png

 14950e3c91b74ad2b0df8867d95841f6.png

 设置完之后重启一下,最好再重启之后检查一下

1、查询串口当前分配情况

输入命令ls /dev/ser* -al即可查询

以我的为例,界面如下

8affe7f90aa7473c90bcaf2f0f400785.png

这个的意思就是,我系统当前分配的默认串口就是硬件串口,可以直接看串口工具minicom设置

如果你的和我的相反那么需要修改一下配置请看2、更换硬件串口为默认串口

2、更换硬件串口为默认串口

输入命令sudo nano /boot/config.txt,如果nano编辑器使用的不习惯可以把nano换成vi,然后在该文本的最后添加以下两行内容,记得保存并退出

dtoverlay=pi3-miniuart-bt
force_turbo=1

 我添加后的界面如下

 375a5cbf8e6144bca2be02aeeea94188.png

此时重启树莓派,输入命令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也是一定要接的!!!

不会的友友可以填鸭式学习,直接看我下面图中的接线,看杜邦线的颜色去接

66d3fe89cca8421d8a9e028c1538fd05.png

9640c1bfed524beabe333d4556532a04.png

 b73039bc0c4a40da8b739a395d9a0b20.png

 

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为例做演示

cf8ffee050a94887974499c001e4f953.png

b8a0c966d604497092a1b02ff439132b.png

 

 

 

物联沃分享整理
物联沃-IOTWORD物联网 » 树莓派初学者指南:硬件串口收发教程(五)

发表评论