计算机系统应用教程网站

网站首页 > 技术文章 正文

树莓派与STM32(rt1064)串口通信(含代码)

btikc 2024-10-12 11:45:18 技术文章 14 ℃ 0 评论


一、树莓派通信

1、硬件连线准备

树莓派4B、杜邦线、TTL转USB(只是验证树莓派功能,与STM32通信只需要杜邦线)

树莓派 RX 与TTL-USB TX相连接 树莓派TX与TTL-USB RX相连接

2、安装Serial和打开树莓派串口

2.1安装Serial

输入 sudo apt-get install serial

2.2打开树莓派串口

终端输入sudo raspi-config打开界面设置

sudo raspi-config

Interfacing Options→serial→否→是

输入ls -l /dev查看设备

ls -l /dev

2.3修改串口映射关系

输入sudo nano /boot/config.txt

sudo nano /boot/config.txt

末行添加 dtoverlay=pi3-miniuart-bit

输入ls -l /dev查看设备

3、树莓派代码

Xshell7和MobaXterm

uart.py代码如下

完整代码可进群免费领取!

4、上位机

我用的是正点原子的XCOM2.1 (这个官网都有免费的自己去下一下)

5、运行uart.py代码进行测试

5.1 树莓派发送,上位机接收

运行代码


测试结果

树莓派发送 a=ser.write(b'x09')

上位机接收:x09 (16进制不显示)

5.2上位机发送,树莓派接收

上位机发送0x01

树莓派接收数据并反馈数据

if res == b'\x01\r\n': #如果接受到 \x01\r\n (注意:树莓派接受数据和发送数据格式请严格要求)
ser.write(b'\x05') #树莓派发送 \x05 上位机接受(16进制显示)

二、STM32通信

芯片是RT1064 板子是学习版,都是在智能车比赛 逐飞科技 买的(实验室拿学弟的)。

6、配置串口

配置好后,发送是 uart_putchar(USART_1,0x01); //串口发送函数

接受是 uart_data这个变量,不要用库函数的接收函数,用了,程序会卡住,因为等待接收当然会卡住。

完整代码可进群免费领取!


7、测试STM32通信

7.1 STM32发送数据,上位机接收数据

STM32发送0x01 ,上位机一直接收。

7.2 上位机发送数据,STM32接收数据

上位机发送0x09,STM32接收到并发送0x15.


三、树莓派与STM32通信

最后其实就把STM32与树莓派用杜邦线连接就行,不用TTL-USB接口。

8、树莓派与STM32通信测试

按键模拟发送信号,STM32向树莓派发送数据,树莓派接收到数据后,向STM32发送命令控制小车电机转动。

按键按下(STM32发送‘0x01')→树莓派接收’\x01',发送‘\x05'→STM32接收到’0x05' 控制小车电机转动。(注意:树莓派与STM32的收发数据格式与上位机不同,最好自己动手实验)四个按键模拟4种信号(前后左右)每个信号控制一个轮子转动。

完整代码可进群免费领取!!!

嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

点击这里找小助理0元领取:扫码进群领资料

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表