学习笔记一:树莓派与STM32的UART通信

这篇具有很好参考价值的文章主要介绍了学习笔记一:树莓派与STM32的UART通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、树莓派GPIO设置

树莓派4B一共包含两个串口,一个是硬件串口(/dev/ttyAMA0),一个是mini串口(/dev/ttyS0)。硬件串口因为使用其单独的时钟源,性能高,稳定可靠,成为使用较为广泛的串口;另一个mini串口性能低,功能简单,但是没有单独的时钟源,会受到内部时钟的影响,树莓派本身运行linux系统,由CPU内核时钟提供时钟源会造成卡顿等致命错误,所以为了稳定,我们使用硬件串口。

1.树莓派串口介绍

学习笔记一:树莓派与STM32的UART通信

 在树莓派4B上,引脚8和引脚10分别为发送端TXD和接收端RXD,也是作为主串口的收发端。

而且树莓派的串口还分为主串口(serial0)和辅助串口(serial1),这里我们选择使用主串口和硬件串口,标识符为ttyAMA0和serial0。

2.配置UART串口

第一步,我们需要在树莓派端打开串行端口选项,如下图所示:

学习笔记一:树莓派与STM32的UART通信

 如图确保Serial Port处于enable状态,点击OK,再点击Yes重启树莓派。

重启树莓派之后,打开终端输入 ls /dev -al ,查看所有串口映射,如下图所示:

学习笔记一:树莓派与STM32的UART通信

 下拉找到这一行

学习笔记一:树莓派与STM32的UART通信

 此时我们可以发现我们的serial0,也就是主串口映射为ttyS0,也就是主串口指向的是mini串口,前文我们提到mini串口效率低不稳定,所以这里我们需要将主串口指向硬件串口,也就是ttyAMA0

打开终端,输入 sudo nano /boot/config.txt ,滚轮到末尾最下方,加入这两行内容:

dtover lay=pi3-miniuart-bt

force_turbo=1

学习笔记一:树莓派与STM32的UART通信

 然后保存,再退出。此时再次打开终端输入 ls /dev -al ,可以看到串口映射已经被强制更改过来,主串口Serial0已经指向了硬件串口ttyAMA0。

学习笔记一:树莓派与STM32的UART通信

 OK,上述步骤完成后,串口功能基本已经配置好。百度教程还有 sudo raspi-config 的配置,这一步在我们第一步配置就已经完成,到这里配置串口结束。

3.安装mini串口调试助手

打开终端,输入 sudo apt-get install minicom 等待安装完成,过程中提示就不用多说了,Y。

学习笔记一:树莓派与STM32的UART通信

 我这里已经安装完成。接下来就是使用串口助手。

在终端输入命令: minicom -D /dev/ttyAMA0 -b 115200  ,回车即可进入。

这里 -D /dev/ttyAMA0 就是指向我们打开的串口端口号,和COM1这种是一样的, -b 115200是配置波特率,这一项我们在minicom中输入 Ctrl+A 在下方也是可以看到我们的波特率的,如果不设置 -b ,波特率默认会是115200,可以动手尝试一下。

学习笔记一:树莓派与STM32的UART通信

 这里我遇到了一个问题,就是提示打开 ttyAMA0 的时候没有权限,如果你也遇见了没有权限打开tty8的这种提示,打开终端输入 sudo chmod 777 /dev/ttyUSB0 ,这里的 ttyUSB0 对应你提示没有权限的串口,然后回车就OK解决了。minicom打开之后如上图。

我打开minicom串口助手的时候,会发现键盘失灵,就是在minicom下,键盘跟没插似的。如果你没有遇到这种情况,就可以跳过这一小节。

查阅文档,发现文档里有这一点Note:

Note: If you haven't configured minicom before (i.e: first use after installation), or if you find that your keyboard key presses are not sent to the RPi, you should make sure Hardware Flow Control is disabled. See Tedious Old-Fashioned Way Using

提示我们要确保禁用硬件控制流,OK,照着文档完成。

(1)首先在minicom串口中按下Crtl+A,然后单击 Z 进入帮助选项:

学习笔记一:树莓派与STM32的UART通信

 (2)点击 O 进入Configure Minicom选项

学习笔记一:树莓派与STM32的UART通信

(3)选择Serial port setup选项,按下 F 将 Hardware Flow Contorl 改为No,即禁用硬件流,然后退出,大功告成。

学习笔记一:树莓派与STM32的UART通信 注意:如果你和我一样,在minicom中连 Crtl+A 都无法显示的话,打开终端,输入

sudo minicom -s,进入(2)中,然后继续操作就完事了。

好了,到这里所有配置已经结束,接下来就可以验证了。

4.串口调试

我们把USB转TTL的TXD接入树莓派的RXD,把USB转TTL的RXD接入树莓派的TXD,然后将GND相连接,插入电脑的USB接口中,打开电脑上的串口助手,同时打开树莓派端的minicom。

学习笔记一:树莓派与STM32的UART通信

 可以看到,通讯已经成功。如果你的minicom输入的时候没有显示,按下Crtl+A ,然后按 E 就可以打开回显功能。

OK,树莓派的UART通讯串口已经调试成功,接下来就是与STM32进行通讯。

二、树莓派与STM32通信

在完成树莓派的串口配置后,我们只需要将STM32的GPIO引脚进行配置,然后将STM32的TX和RX 与 树莓派的 RX 和 TX 用杜邦线连接,然后在STM32里烧录好程序,我们便可以看到双方通信的结果。

学习笔记一:树莓派与STM32的UART通信

学习笔记一:树莓派与STM32的UART通信 这里我使用了STM32的GPIO9和10进行USART通讯,这里要注意我们STM32里的程序配置的波特率和树莓派打开minicom串口时的波特率要保持一致。OK,我们来验证结果,这里我用的是MPU6050的模块来输出X、Y、Z三轴的输出。

学习笔记一:树莓派与STM32的UART通信

 OK,大功告成!

 文章来源地址https://www.toymoban.com/news/detail-417192.html

到了这里,关于学习笔记一:树莓派与STM32的UART通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过Linux串口实现树莓派与电脑通信

    目录 一  串口说明 二  USB—TTL模块 ● usb-ttl模块接口  三  串口通信常用的API 四  修改串口的配置文件  五  串口通信代码验证 ● 发送一个字符/字符串到串口 ● 树莓读取串口数据(字符) ● 代码拓展(双方) 我在基于全志H6实现Linux串口通信这篇文章中也有详解介绍:

    2024年02月08日
    浏览(54)
  • STM32学习笔记-SMT32使用HAL库UART中断方式使用

    目录 1、引言 2、配置 3、流程 近来需要使用蓝牙模块,再了解到蓝牙模块等无线模块许多使用串口透传,便决定在研究一下串口UART 的使用方法。 由于用的板子种类每次都不一样,有F103 有G0 有G4 还有公司的8位自研芯片,所以每次用起来都需要重头开始复习 每次使用UART的目

    2023年04月12日
    浏览(51)
  • K210 UART串口通信介绍与 STM32通信

    目录 K210-UART串口通信相关函数: 使用K210串口的时候需要映射引脚: K210与STM32串口通信  发送单字节: K210端 STM32端 发送数据包 K210端 STM32端  K210的UART模块支持全双工通信,可以同时进行数据的发送和接收。在K210上使用UART串口通信,你可以连接外部设备,如传感器、显示器

    2024年03月23日
    浏览(48)
  • 【单片机】基于STM32的UART串口通信

    简单讲解一下UART通信协议,以及UART能够实现的一些功能,还有有关使用STM32CubeMX来配置芯片的一些操作。实验内容基于 正点原子精英板 开发板,单片机芯片为 STM32F103ZET6 。 在后面我会以我使用的STM32F429开发板来举例讲解(其他STM32系列芯片大多数都可以按照这些步骤来操作

    2024年01月17日
    浏览(79)
  • FPGA与STM32之间的UART通信实验

    目录 1.UART串口介绍 2.实验任务 3.FPGA代码 4.STM32代码 5.总结         UART是一种采用异步串行方式的通用异步收发传输器,在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。         UART串口通信需要两根信号线来实现,

    2024年02月13日
    浏览(45)
  • 【STM32】学习笔记(串口通信)

    串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。 电平标准

    2024年02月10日
    浏览(42)
  • STM32CubeMX教程9 USART/UART 异步通信

    开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 逻辑分析仪nanoDLA 野火DAP仿真器 XCOM V2.6串口助手 使用STM32CubeMX软件配置STM32F407开发板 USART1与PC进行异步通信(阻塞传输方式、中断传输方式) ,具体为 使用WK_UP按键

    2024年02月03日
    浏览(63)
  • 【STM32】学习笔记-SPI通信

    SPI通信(Serial Peripheral Interface)是一种同步的串行通信协议,用于在微控制器、传感器、存储器、数字信号处理器等之间进行通信。SPI通信协议需要使用4个线路进行通信:时钟线(SCLK)、主输入/主输出线(MISO)、主输出/主输入线(MOSI)和片选线(SS)。其中,SCLK由主设备提供,用于

    2024年02月09日
    浏览(45)
  • STM32 UART串口通信IDLE空闲中断的使用步骤

    参考了各路大神的资料,蒙蔽了半天,终于学会了,记录一下,以后忘了可以回来复习参考。 一、首先在stm32cube中配置打开对应uart串口的中断 二、工程main函数调用 __HAL_UART_ENABLE_IT(huart1,UART_IT_IDLE);//hal库宏定义,使能串口空闲中断     HAL_UART_Receive_DMA(huart1,data,sizeof(data));//使

    2024年02月12日
    浏览(44)
  • STM32的QSPI通信(学习笔记)

    1、首先说说FLASH,不管是QSPI Flash还是SPI Flash说的实际上是一种闪存芯片,比如最常见的W25Q128(下图),真正不同的是SPI协议与QSPI协议罢了。可以看到下图的芯片,2、3、5、7这四个引脚是可以复用的,根据不同的通信协议变换功能。 W25Q128 是华邦公司推出的大容量 SPI FLASH 产

    2024年02月15日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包