centerSTM32f429串口center

本文介绍了STM32f429的串口通信,包括串口的发送和接收概念,详细讲解了寄存器配置,如使能寄存器、波特率寄存器和控制寄存器,以及HAL库在串口通信中的应用。重点阐述了数据发送与接收的过程以及串口状态的监测。
摘要由CSDN通过智能技术生成

STM32f429串口


1. 发送是指从单片机发送到电脑。接收时单片机接收电脑数据,一切都是相对于单片机而言的


2. 寄存器

  • 使能寄存器:串口的寄存器在APB2ENRAPB2ENR,串口1在在APB2ENR第四位。
  • 波特率寄存器:不同的串口有不同的波特率寄存器,一般都在自己的USART_BRR
  • 串口控制:每个串口都有三个串口控制寄存器USART_CR1_1~3,USART_CR1~3
    • OVER8 为过采样模式设置位, 我们一般设置位 0,即 16 倍过采样已获得更好的容错性。
    • UE 为串口使能位,通过该位置 1,以使能串口。
    • M 为字长选择位,当该位为 0 的时候设置串口为 8 个字长外加 n 个停止位,停止位的个数( n)是根据 USART_CR2 的[13:12]位设置来决定的,默认为 0。
    • PCE 为校验使能位,设置为 0,则禁止校验,否则使能校验。
    • PS 为校验位选择位,设置为 0 则为偶校验,否则为奇校验。
    • TXIE 为发送缓冲区空中断使能位,设置该位为 1,当 USART_SR 中的 TXE 位为 1 时,将产生串口中断; TCIE 为发送完成中断使能位,设置该位为 1,当 USART_SR 中的 TC 位为 1时,将产生串口中断。
    • RXNEIE 为接收缓冲区非空中断使能,设置该位为 1,当 USART_SR 中的 ORE 或者 RXNE 位为 1 时,将产生串口中断; TE 为发送使能位,设置为 1,将开启串口的发送功能。
    • RE 为接收使能位,用法同 TE
  • 数据发送与接收: STM32F429 的发送与接收是通过数据寄存器 USART_DR 来实现的,这是一个双寄存器,包含了 TDR 和 RDR。当向 DR 寄存器写数据的时候,实际是写入 TDR,串口就会自动发送数据; 当收到数据, 读 DR 寄存器的时候,实际读取的是 RDR。 TDR 和 RDR对外是不可见的,所以我们操作的就只有 DR 寄存器
    *DR 寄存器
    • DR[8:0]为串口数据,包含了发送或接收的数据。
    • 由于它是由两个寄存器(TDR 和 RDR)组成的,一个给发送用(TDR),一个给接收用(RDR),该寄存器兼具读和写的功能。 TDR 寄存器提供了内部总线和输出移位寄存器之间的并行接口。 RDR 寄存器提供了输入移位寄存器和内部总线之间的并行接口。
  • 串口状态:串口的状态可以通过状态寄存器 USART_SR 读取。
     USART_SR寄存器
    • RXNE(读数据寄存器非空),当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR,通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。
    • TC(发送完成),当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式: 1)读 USART_SR,写USART_DR。 2)直接向该位写 0。

3. HAL库过程

  • 进行串口使能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值