我是靠谱客的博主 虚心猎豹,最近开发中收集的这篇文章主要介绍树莓派与pc端的通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.在树莓派终端输入

ls /dev -al

可以查看到默认的串口分配方式。其中可以看到有如下图所示的一组对应、
在这里插入图片描述
serial0即GPIO映射的串口,默认是ttyS0,即mini串口
serial1即板载蓝牙映射的串口,默认是ttyAMA0,即硬件串口。

我们要做的工作便是,将两者映射互相交换。
serial0映射成ttyAMA0,serial1映射成ttyS0。

2.使用以下命令编辑 /boot 目录下的config.txt文件

sudo nano /boot/config.txt

在文本末尾加上如下一行代码:

dtoverlay=pi3-miniuart-bt

如图:(已添加完成)
在这里插入图片描述
记得保存再退出哦~

3、重启树莓派

4、验证当前串口是否交换成功

ls /dev -al

我们可以看到,串口已经交换成功
在这里插入图片描述
好啦,树莓派上的配置完成了。接下来就是激动人心的时刻了!!!

5.连接(不说了,直接上图)
在这里插入图片描述
与其他设备通信,例如与stm32.只需将树莓派的rx接到stm32的tx,树莓派的tx接到stm32的rx,要记得共地哦~(stm32端的代码另寻,这里只提供树莓派端的。)

6.测试代码

# -*- coding: utf-8 -*
import serial
import time
ser = serial.Serial('/dev/ttyAMA0', 9600)
if ser.isOpen == False:
    ser.open()# 打开串口
    
def Send(zifu):
    ser.write(zifu.encode())
    
def Receive():
    try:
        while True:
            size = ser.inWaiting()               # 获得缓冲区字符
            if size != 0:
                response = ser.read(size)        # 读取内容并显示
                print (response)
                return response
                ser.flushInput()                 # 清空接收缓存区
                time.sleep(0.1)                  # 软件延时
    except KeyboardInterrupt:
        ser.close()
#测试
        
#发送
#Send('a')

#接收
while True:
    Receive()

打开串口调试助手(这里我用的是串口调试助手是正点原子的 XCOM(若没有可到正点原子的官网去找。有其他的串口调试助手也可))
在这里插入图片描述
记得调好波特率哦~
在树莓派上运行上面的代码
在串口调试助手上填好要发送的内容,然后发送(这里我发送的是5)在树莓派段端即可收到
在这里插入图片描述
发送测试
我在树莓派的代码中发送 a 如图
在这里插入图片描述
即可在在串口调试助手中收到,如图
在这里插入图片描述
大功告成!!!!!
本人超级小白一枚,在此特此鸣谢!!!
https://blog.csdn.net/qq_38189484/article/details/81635285
https://blog.csdn.net/ReCclay/article/details/104679944
https://blog.csdn.net/swarms1239/article/details/104591428

最后

以上就是虚心猎豹为你收集整理的树莓派与pc端的通信的全部内容,希望文章能够帮你解决树莓派与pc端的通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部