STM32CubeMX 串口数据收发

简介: STM32CubeMX 串口数据收发

一、串口基础


串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。


UART: 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称 作 UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信 号转成串行输出信号的芯片,UART 通常被集成于其他通讯接口的连结上。


USART:(Universal Synchronous/Asynchronous Receiver/Transmitter) 通用同步/异步串 行接收/发送器,USART 是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵 活的串行通信设备。


串口收发数据 阻塞、中断、DMA三种方法简单使用。

HAL_UART_Transmit();//串口发送数据
HAL_UART_Receive();//串口接收数据
HAL_UART_Transmit_IT();//串口中断模式发送  
HAL_UART_Receive_IT();//串口中断模式接收
HAL_UART_Transmit_DMA();//串口DMA模式发送
HAL_UART_Receive_DMA();//串口DMA模式接收


二、STM32CubeMX配置


1.配置外部时钟源




2.串口配置


Mode :

Asynchronous : 异步, 整个过程,不会阻碍发送者的工作。

Synchronous : 同步, 同步信息一旦发送,发送者必须等到应答,才能继续后续的行为。

Single Wire : 单总线, 半双工。



Baud Rate: 波特率, 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示。

打开中断global interrupt



DMA都选择nomal,数据 字节(byte)



3.生成代码




三、阻塞收发数据


1.Use MicroLIB 选中



2.定义全局变量


/* USER CODE BEGIN 0 */
uint8_t a[5];
 
/* USER CODE END 0 */




  while (1)
  {
 
    HAL_UART_Receive(&huart1,a,5,0xFFFF);
    HAL_UART_Transmit(&huart1,a,5,0xFFFF);
    
    /* USER CODE END WHILE */
 
    /* USER CODE BEGIN 3 */
  }


4.编译完成下载


目录
相关文章
|
3月前
|
传感器
【STM32】I2C练习,SHT3X温度传感器的数据读取
【STM32】I2C练习,SHT3X温度传感器的数据读取
|
1月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
167 0
|
1月前
STM32CubeMX 串口收发一帧数据
STM32CubeMX 串口收发一帧数据
33 9
|
1月前
|
监控
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
|
3月前
|
存储 缓存 芯片
STM32--USART串口
STM32--USART串口
|
3月前
|
Java C语言
STM32使用printf重定向到USART(串口)并打印数据到串口助手
STM32使用printf重定向到USART(串口)并打印数据到串口助手
146 0
|
2月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
156 2
|
2月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
292 4