学习STM32Hal库串口总结知识点笔记

USART(通用同步异步收发器)
以handle为命名的是句柄
串行通信:传输速度慢/抗干扰能力强/IO口资源占用少/成本低
并行通信:传输速度快/抗干扰能力弱/IO口资源占用多/成本高

单工通信:数据单方向传输
半双工通信:数据可以可以两个方向传输,但不能够同时进行
全双工通信:数据可以同时是进行双向传输
同步通信:公用时钟信号
异步通信:无时钟线,在数据帧中有起始位和停止位(必须要有的)   (注)起始位(低电平)停止位(高电平)

波特率:每秒传送的码元数,单位Baud
比特率:每秒传送的比特数,单位bit/s
比特率 = 波特率*log2M,(M表示每个码元承载的信息量)

两个设备之间的TXD和RXD必须交叉连接,才能够正常通信

现在的stm32和电脑之间的通信都可以用usb转type-c线使用

LSB(最低有效位)在前,MSB(最高有效位)在后
Fck:各自外设对应总线的时钟频率

波特率计算:baud = Fck/[8*(2-OVER8)]*USARTDIV
USARTDIV = DIV_Mantissa(4:15)+(DIV_Fraction(0:3)/8*(2-OVER8))

DIV_Mantissa 是USARTDIV 值的整数部分,DIV_Fraction是USARTDIV 值的小数部分
可以通过已知条件baud和Fck,通过公式反推出其他未知数,USART_CR1寄存器位15设置为0是16倍过采样,设置为1是8倍过采样
(过采样):可以提高采样的准确性和分辨率,所以一般使用16位过采样
使用 HAL_PPP_Init函数会调用HAL_UART_MspInit()函数;定时器函数也是如此
HAL_UART_MspDeInit()该函数是反初始化函数(也就是说可以在该函数中调用失能时钟或者其他功能的用途)
HAL_UART_IRQHandler()异步  HAL_USART_IRQHandler()同步  

一个IO口只能复用一种片上外设功能,例如PA1用了定时器(TIM)功能,就用不了串口通信(USART)了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值