第17讲-通用同步异步收发器(USART)1

USART-通用同步异步收发器相关知识的介绍

为什么电平要多一些哪?是为了增加串口的远距离传输和串口的抗干扰能力

校验位

F1/F4/F7/串口差不多

H7串口

USART使用代码讲解

第17讲-通用同步异步收发器(USART)2

  1. 串口收发

跳线帽

建工程注意

默认引脚的复用功能

可在数据手册的引脚复用功能中查看

第17讲-通用同步异步收发器(USART)3

初始化hal库stm32f2xx_hal.c文件

@verbatim
===============================================================================
#####初始化和反初始化函数#####
===============================================================================
(. .本节提供的函数允许:
(+)初始化Flash接口、NVIC分配和初始时钟
配置。当需要超时时,它也会初始化系统
和备份域时启用。
(+)去初始化HAL的公共部分。
(+)配置时基源为1ms时基,具有专用的时基
勾中断优先级。
(++) SysTick定时器默认使用作为时间基准的源,但用户
最终可以实现他适当的时间基础源(通用
例如定时器或其他时间源),请记住time base
duration应该保持1ms,因为PPP_TIMEOUT_VALUEs已经定义
以毫秒为单位处理。
(++)自动调用时基配置函数(HAL_InitTick ())
在HAL_Init()重置后的程序开始或任何时候
当时钟配置时,由HAL_RCC_ClockConfig()。
(++)配置时基源以定期生成中断
时间间隔。调用HAL_Delay()时必须小心
外围ISR进程,Tick中断线必须具有更高的优先级
(数值低)比外围中断。否则调用者
ISR进程将被阻塞。
(++)影响时基配置的函数声明为__weak
在用户文件中的其他实现情况下使重写成为可能。
@endverbatim
* @ {
* /
/**
这个函数用于初始化HAL库;它一定是第一个
*在主程序中执行的指令(在调用任何其他指令之前)
* HAL函数),它执行如下:
*配置Flash预取。
*配置SysTick产生中断每1毫秒,
*由恒生指数计时(在这个阶段,时钟还没有
*配置,因此系统从内部HSI运行在16mhz)。
*“NVIC Group Priority”设置为“4”。
调用用户文件中定义的HAL_MspInit()回调函数
*“stm32f1xx_hal_msp.c”进行全局底层硬件初始化

* @note SysTick被用作HAL_Delay()函数的时间基础,应用程序
*需要确保SysTick时间基准始终设置为1毫秒
*有正确的HAL操作。
* @retval HAL状态

一、定义一个UART_HandleTypeDef结构体句柄

二、通过HAL_UART_Msplnit函数来实现串口外设的底层初始化

要做什么功能:

  1. 使能UART外设时钟开启

  1. 配置UART引脚模式

  1. 如果要中断配置中断

  1. 如果要用DMA,就配置DMA

三、通过前面的结构体具备,来配置串口的波特、数据字长、停止位、奇偶校验位、硬件流控制。

四、通过调用HAL_UART_lnit函数,来讲串口配置为异步模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小C学Python青春版

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值