STM32 HAL库 UART通信

一,HAL库 UART异步通信配置步骤

1.配置串口初始化

HAL_UART_Init()函数

此函数在STM32F1xx_hal_uart.c中

 此函数返回值为一个枚举变量,我们跳过去看一下

 枚举变量为上面四个值,作为返回值

函数句柄的结构体如上,进行配置

初始化主要看前面两个参数

第一个参数是配置寄存器的基地址

第二个参数是UART的通讯参数

 主要就是配置前面几个参数,参数的配置都有宏定义,在mdk中去跳转查询即可

 

2.串口底层初始化

HAL_UART_MASPInit()         用来配置GPIO,CLOCK时钟信号,NVIC中断

3.开启串口异步通信中断

HAL_UART_Receive_IT()

此函数类似于HAL_UART_Init()函数,位于STM32F1xx_hal_uart.c中

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

此函数的作用:以中断的方式接收指定字节的数据

形参一:是UART_HandleTypeDef结构体指针类型变量

形参二:是指向接收数据缓存区

形参三:是要接收的数据大小,以字节为单位

4.设置优先级,使能中断

HAL_NVIC_SetPriority(),HAL_NVIC_EnableIRQ()

5.编写中断服务函数

USARTx_IRQHandler()

6.串口数据发送

HAL_UART_Transmit()

此函数是正常UART通信,此函数类似于HAL_UART_Init()函数,位于STM32F1xx_hal_uart.c中

原型;HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)

此函数的作用:以阻塞的方式发送指定字节的数据

参数一:结构体句柄

参数二:指定要发送的数据地址

参数三:要发送的数据大小,以字节为单位

参数四:设置超时时间,以ms为单位

学习笔记;不妥之处请多多指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值