STM32学习日志——USART串口

        1.通信接口

        通信的目的是为了将数据从一个设备传输到另一个设备,为了完成数据的传输,才有了通信协议,用以制定通信的规则,使得通信的双方按照协议规则进行数据的收发

        STM32的通信协议有如下几种

        全双工通信意味着可以实现双方同时发送和接受数据,一般来说全双工的通信协议,都有两根通信线,一根用来发送,一根用来接收,例如USART和SPI(发送和接收相互不影响)时钟信号只有在具有单独时钟线的情况下才是同步的,若是没有时钟线,双方就只能约定一个通信频率,因此这时为异步通信

        所有的单端信号的通信协议都需要共地,后面的CAN和USB则依靠的时电压差,按原理来讲,是不需要接地的。使用差分可以极大的提高的抗干扰性能,多设备需要一个寻址的过程

        2.串口通信

        串口通信线路简单,成本低,应用广泛,可实现两个设备之间的相互通信,单片机的串口一般使用在单片机和单片机,单片机和电脑,单片机和各个模块之间的互相通信,以此来提高单片机的硬件实力

        串口通信由于有两根通信线,因此时全双工模式,而且由于电平信号为单端信号,因此必须要接地。(通信线之间要交叉连接),VCC接口需要看供电情况

        若是只需要向一个方向传输数据,可以只接一根通信线,这样的话,为单工

        当电平标准不一致时,需要增加电平转换芯片

        电平标准:代表着数据1和数据0的表达方式,是人为规定的电压和数据的对应关系

        常见的标准有三种TTL(+3.3V和+5V表示1,0表示0),RS232电平(-3~-15V表示1,+3~+15V表示0),RS485(两线之间的压差+2~+6V为1,-2~-6V为0)

        一般我们使用的比较多的时TTL电平,USB这种串口用的RS485

       串口参数和时序

        波特率:串口通信的速率(还有一个比特率,经常混用)每隔多久发射一位

        起始位:标志一个数据帧的开始,固定为低电平

        数据位:数据帧的有效载荷,1为高电平,0为低电平(低位先行)

        校验位:用于数据验证,通过数据位的计算得来(有效载荷的后面一位)奇偶校验

        停止位:用于表示数据帧之间的间隔,固定为高电平

3.USART 通用同步/异步收发器

        USART时STM32的支持串口通信的硬件外设,根据数据寄存器的一个字节数据自动生成数据帧,然后通过TX引脚发送,也可以自动接收RX引脚被的数据帧时序,拼接为一个字节的数据并将其存放于数据寄存器中

        USART有自带的波特率发生器,最高4.5Mbits/s(其实就是一个分频器)

        可配置的数据位长度为8/9,停止位长度为0.5/1/1.5/2

        可选择无校验,奇校验和偶校验

        USART可发送时钟信号(兼容别的协议),但无法接收,拥有硬件流控制,避免了数据传输过快而被覆盖丢失的问题,此外还支持DMA(数据转运),智能卡,LrDA,LIN(其它协议,与串口类似)

        在写代码时首先需要开启端口和USART的时钟,配置端口(tx,rx)若是使用USART1的话就是PA10和PA9两个端口

        再通过库函数的结构体直接配置USART即可

        库函数中比较重要的函数有

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);

        第一个是发送数据,第二个是接收数据(本质上就是写和读DR寄存器的值)DR寄存器有四个寄存器,控制了发送和接收(这两个函数的标志位都会自动清0)

        其他的函数除了常见的配置函数,就只有几个扩展功能的函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值