HAL库中断方式实现串口通信操作

本文通过STM32CubeMX配置项目,详细介绍了如何使用HAL库在STM32F103C8T上实现串口通信的中断方式。在keil中配置代码,包括设置全局变量、接收中断、传输代码以及中断处理函数,并展示了实验结果和拓展实验,加深了对串口通信的理解。
摘要由CSDN通过智能技术生成

一、实验工具

软件版本:
STM32CubeMX:6.30
KEIl:5.31
mcuisp
SSCOM: 5.13.1
硬件:
STM32F103C8T

二、CubeMX配置项目

1.引脚配置

在这里插入图片描述

2、RCC设置

在这里插入图片描述

3.SYS设置

在这里插入图片描述

4.USART设置

在这里插入图片描述

5.NVIC设置

在这里插入图片描述

6.创建项目

在这里插入图片描述

三、keil中配置代码

1.main函数前定义全局变量

char c;//指令 0:停止  1:开始
char message[]="hello Windows\n";//输出信息
char tips[]="CommandError\n";//提示1
char tips1[]="Start.....\n";//提示2
char tips2[]="Stop......\n";//提示3
int flag=0;//标志 0:停止发送 1.开始发送

2.main函数中设置接收中断

函数原型:

 HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)

功能:

 功能:串口中断接收,以中断方式接收指定长度数据。
 大致过程是,设置数据存放位置,接收数据长度,然后使能串口接收中断。
 接收到数据时,会触发串口中断。
 再然后,串口中断函数处理,直到接收到指定长度数据
 而后关闭中断,进入中断接收回调函数,不再触发接收中断。(只触发一次中断)

参数:

 UART_HandleTypeDef *huart      UATR的别名    
 huart1  *pData      			接收到的数据存放地址
 Size                      		接收的字节数
HAL_UART_Receive_IT(&huart1, (uint
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值