野火F407学习日志(一)————串口通信(理论部分)

硬件:

原生串口通信采用TTL电平进行通信,但是为了使串口和更多的设备,增加了一些电平转换芯片,野火F407上主要的串口通信方式主要有以下三种

1、RS232标准

2、USB转串口

3、原生串口到串口

RS232标准:

RS232主要用于工业设备直接通信,对外的接口是DB9。



USB转串口:

主要用于开发板与电脑之间的通信,在电脑端需要安装相应的驱动才能正常使用。一般的串口电平转换芯片有CH340、PL2303、CP2102、FT232


原生的串口通信主要是控制器和串口设备或者传感器之间的通信,比如GPS GSM 串口转WIFI模块

-------------------------------------------------------分界线---------------------------------------------------------

软件:

串口数据主要包括起始位、有效数据位、校验位(可选)和停止位。

起始位有一个逻辑0表示

结束位由0.5 1 1.5 或2个逻辑1的数据位表示

有效数据位紧接着起始位,常常被约定为8位

校验位 可选择

校验的方法主要有

1-奇校验(数据位和校验位1的个数为奇数) 2-偶校验(数据位和校验位1的个数为偶数)

0校验(校验位为0)   1校验(校验位为1)  无校验(没有校验位)


-------------------------------------------------------分界线---------------------------------------------------------

串口通信的功能框图讲解:

串口通信芯片主要向外引出6个引脚,分别为TX、RX、CLK(同步通信是需要用到)、SW_RX智能卡模式用到(很少用) nRTS nCTS(硬件流相关,很少用)。主要用到TX、RX两个引脚

ps:如何找到引脚对应GPIO

STM32F4XX数据手册——Pinouts and pin description  记录了所有GPIO引脚的全部功能

硬件连接时现将IO连接到对应的TX RX 再在软件上使能 板子上的IO口是原始的TTL电平串口通信,二开发板上利用跳线帽将IO连接的另一端标注着TX RX 的东西USB转串口的电平转换器

-------------------------------------------------------分界线---------------------------------------------------------

串口通信数据发送的具体流程

发送数据寄存器-----------> 发送移位寄存器 ------------->TX(GPIO)   

当发送数据寄存器全转移后,有一个标志位会变成空(txe),并会触发中断 。当全部发出去时,TC标志位会变成空

串口通信数据接收的具体流程 

接收位移寄存器--------->接收数据寄存器 

当数据全部接收后 RXNE标志位会发生变化 

(以上所有标志位的变化均由控制寄存器控制)


控制寄存器

主要有三个:(具体见STM32F4XX官方参考手册)

USART_CR1 主要功能有:确定传输字长,使能,中断使能,唤醒,奇偶校验控制使能

USART_CR2 时钟使能

USART_CR3 半双工选择,低功耗智能卡模式 DMA模式使能等


波特率计算公式

波特率 = (时钟频率/(8*(2 - OVER8)*USARTDIV))  OVER8 过采样模式  CR1控制   USARTDIV无符号定点数由波特率寄存器控制





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值