树莓派学习笔记6-串口通讯(废弃)

树莓派串口通讯

前言

由于需要使用树莓派与stm32进行通讯,因此记录一下树莓派与stm32的串口通讯过程。
树莓派一共有两个串口把玩,一个是稳定的硬件串口,一个是mini串口,受内部原因影响,mini串口的速率并不稳定,因此一般情况下使用的都是硬件串口,但是在树莓派3以后(不知道有没有记错),官方将原本的硬件串口分配给了板载的蓝牙,所以在使用串口前不得不对树莓派做一些配置。
步骤如下:
1、打开第二个串口
2、交换两个串口的映射关系
3、代码编写

打开ttyAMA0

在终端输入sudo ls -la /dev/
可以看到默认情在这里插入图片描述
况下只有一个串口在使用。
输入以下命令进行配置

sudo raspi-config

选择Interface
在这里插入图片描述
选择Serial
在这里插入图片描述
后面的Yes即可,提示重启则重启树莓派,没有的话手动重启一下,之后就可以看到如下两个串口都已经打开。
在这里插入图片描述

交换映射

使用如下命令进入修改文件

sudo nano /boot/config.txt

//在最后添加以下语句
dtoverlay=pi3-miniuart-bt

随后查看可以发现两个串口的顺序交换了。
在终端执行以下命令

sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service
sudo nano /boot/cmdline.txt

随后使用以下代码替换原先的cmdline文件

console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

至此,基本配置完成。

代码编写

由于使用串口需要root权限,所以我们在使用IDE进行编写时需要修改一下执行命令,在前面添加上sudo,如图
在这里插入图片描述
最后打开PC端的串口助手进行连接树莓派(顺序标号法的8【TX】、10【RX】号引脚)。
输入以下代码进行测试

#include "wiringPi.h"
#include "wiringSerial.h"

int main()
{
	int ser;
	//开启wiringPi
	wiringPiSetup();
	//设置串口及波特率
    ser = serialOpen("/dev/ttyAMA0", 115200);
    //发送字符串
    serialPrintf(ser, "hello I am Pi\n");
	//释放资源
    serialClose(ser);

    return 0;
}

从PC端的串口助手可以观察到如下现象
在这里插入图片描述

结尾

至此,树莓派串口基础使用完成。

参考自
大佬博客1

大佬博客2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值