STM32cubemx 简单uart通信工程

1创建工程,选择对应芯片,此处略过。开发软件版本为6.4.0

2.配置参数

RCC配置:

UART配置

 

左侧选择usart1 , 右侧会自动出现pin脚,我用的stm32f10x系列,串口的是PA9,PA10,在mode下,选择异步,

 串口通信参数可配置成通用的:

 

终端配置:

 

其他的默认参数就行。

时钟配置,主要下面红框里的数据。

 

工程配置:注意导出的工程文件格式,我这边是keil5的。

最后:generate。 

 

 

 导出工程后,可以直接打开工程。

下面说下导出的代码的几个注意点:

1.

 注意下方几个文件,注意在这几个文件中修改。

2 main.c

工程已经替你做好了各种的初始化,时钟初始,管脚初始化,中断初始化,中断使能。

3.uasrt.c

这里面是初始化的一些实现代码。基本不用改动

4 stm32f1xx_hal_uart.c

stm32f1xx_hal_uart.h

这两个文件中,实现了底层的寄存器调用和要使用的api,接收发送的,中断接收发送的等等。

 5 简单实现一个串口收发的例子,功能:开机打印一个欢迎字符串,接收数据 , 数据+1 ,再串口发送出去。通过中断接收数据,再通过回调函数实现收发。

实现就是下发红框里的代码。

通过HAL_UART_Transmit发送数据,

通过HAL_UART_Receive_IT实现中断接收。

 

 

 

 HAL_UART_Receive_IT这个接口里触发中断响应函数

中断响应函数里调用

 

UART_Receive_IT接口里调用到回调函数

 

最开始,工程刚导出的时候回调函数是空的在,是需要我们自己实现逻辑的,我的实现上图所示。

  

 到此为止,一个通过stm32cubemx和keil5来实现的串口通信工程就完成了。

总结下,就是stm32cube当我们配置好参数导出时候,90%的工作已经做好了;剩下的需要我们自己完成的就是通过已经封装好的API,实现自己的逻辑即可。

版权声明:本文为CSDN博主「迷茫的咖啡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/d5160821/article/details/122142160

1创建工程,选择对应芯片,此处略过。开发软件版本为6.4.0

2.配置参数

RCC配置:

UART配置

 

左侧选择usart1 , 右侧会自动出现pin脚,我用的stm32f10x系列,串口的是PA9,PA10,在mode下,选择异步,

 串口通信参数可配置成通用的:

 

终端配置:

 

其他的默认参数就行。

时钟配置,主要下面红框里的数据。

 

工程配置:注意导出的工程文件格式,我这边是keil5的。

最后:generate。 

 

 

 导出工程后,可以直接打开工程。

下面说下导出的代码的几个注意点:

1.

 注意下方几个文件,注意在这几个文件中修改。

2 main.c

工程已经替你做好了各种的初始化,时钟初始,管脚初始化,中断初始化,中断使能。

3.uasrt.c

这里面是初始化的一些实现代码。基本不用改动

4 stm32f1xx_hal_uart.c

stm32f1xx_hal_uart.h

这两个文件中,实现了底层的寄存器调用和要使用的api,接收发送的,中断接收发送的等等。

 5 简单实现一个串口收发的例子,功能:开机打印一个欢迎字符串,接收数据 , 数据+1 ,再串口发送出去。通过中断接收数据,再通过回调函数实现收发。

实现就是下发红框里的代码。

通过HAL_UART_Transmit发送数据,

通过HAL_UART_Receive_IT实现中断接收。

 

 

 

 HAL_UART_Receive_IT这个接口里触发中断响应函数

中断响应函数里调用

 

UART_Receive_IT接口里调用到回调函数

 

最开始,工程刚导出的时候回调函数是空的在,是需要我们自己实现逻辑的,我的实现上图所示。

  

 到此为止,一个通过stm32cubemx和keil5来实现的串口通信工程就完成了。

总结下,就是stm32cube当我们配置好参数导出时候,90%的工作已经做好了;剩下的需要我们自己完成的就是通过已经封装好的API,实现自己的逻辑即可。

版权声明:本文为CSDN博主「迷茫的咖啡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/d5160821/article/details/122142160

生成海报
点赞 0

迷茫的咖啡

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

4.8 51单片机-PCF8591(ADC/DAC)转换芯片

4.8 PCF8591(ADC/DAC)转换芯片 4.8.1 原理图 当前实验板上没有PCF8591芯片,这里采用外接模块的形式使用。 图4-8-1 PCF8591模块实物图 图4-8-2 原理图 通过原理图得到的重要信息:

基于STM32的“智能家居”课程设计

基于STM32的“智能家居系统”课程设计 此设计是基于STM32F407单片机的智能家居系统,具体完成要求如下: 基于蓝牙的智能家居系统设计 设计一个基于蓝牙/Wifi的智能家居控制系统,实现手机

STM32 单片机启动流程

STM32 单片机启动流程 刚接触ARM的cortex-m系列单片机时,被告知一切都从main() 函数开始,要将程序写在main()函数中。而仿真时也貌似是从main() 函数开始的,以STM32F

基础实验——485传感器修改地址

RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。 RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器&#xff