实验3 串口通讯实验
一、实验目的
- 熟悉Keil4开发环境
- 了解串口通讯原理
- 了解STM32 单片机串口中断程序的本质及控制流程
二、实验设备
硬件:RFID实验箱套件,电脑等。
软件:Keil
三、实验原理
- 串口通讯介绍
串口通讯(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
串口通讯提供了一种灵活的方法来与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。 UART 利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信。它也支持LAN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC 规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA 方式,可以实现高速数据通信。
接口通过三个引脚与其他设备连接在一起(见图3.1)。任何UART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。 RX:接收数据输入。通过采样技术来区别数据和噪音,从而恢复数据。 TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O 端口配置。当发送器被激活,并且没东西发送时,TX 引脚处于高电平。
图 3.1 串口引脚
UART模式的操作具有下列特点:
- 8位或9位负载数据
- 奇校验、偶校验或者无奇偶校验
- 配置起始位和停止位电平
- 独立收发中断
- 独立收发DMA触发
- 奇偶校验和帧校验出错状态
UART模式提供全双工传送,接收器中的位同步不影响发送功能。传送一个UART字节包含1个起始位、8个数据位、1个作为可选项的第9位数据或者奇偶校验位再加上1个或2个停止位。注意,虽然真实的数据包含8位或者9位,但是,数据传送只涉及一个字节。
- 串口1硬件原理图(图3.2)
图 3.2 UART1 硬件原理图
PA9为STM32 UART1 的 输出线,PA10为 STM32 UART1的输入线。需要对这两个引脚进行初