stm32之USART学习
时间:2018-09-10 08:00:04
手机看文章
扫描二维码
随时随地手机看文章
[导读]首先,我是看着这位博主的文章受到的启发,进而加深了自己对USART的理解。下面是自己改装并实验过的程序。原文:http://www.cnblogs.com/greatwgb/archive/2011/07/28/2119350.html1.串口的基本概念在STM32的参考手册
首先,我是看着这位博主的文章受到的启发,进而加深了自己对USART的理解。下面是自己改装并实验过的程序。
原文:http://www.cnblogs.com/greatwgb/archive/2011/07/28/2119350.html
1.串口的基本概念
在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。还可以使用DMA方式,实现高速数据通信。
USART通过3个引脚与其他设备连接在一起,任何USART双向通信至少需要2个引脚:接受数据输入(RX)和发送数据输出(TX)。
RX:接受数据串行输入。通过过采样技术来区别数据和噪音,从而恢复数据。
TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。
2.串口的如何工作的
一般有两种方式:查询和中断。
(1)查询:串口程序不断地循环查询,看看当前有没有数据要它传送。如果有,就帮助传送(可以从PC到STM32板子,也可以从STM32板子到PC)。
(2)中断:平时串口只要打开中断即可。如果发现有一个中断来,则意味着要它帮助传输数据——它就马上进行数据的传送。同样,可以从PC到STM3板子,也可以从STM32板子到PC。
程序源码:
/*************************************USART(通用同步异步收发器)实验使用USART1实现数据的发送与接收日期:2016.2.25******************************************/#include"stm32f10x.h"FlagStatusRX_status;//voidRCC_cfg();voidGPIO_cfg(void);voidUSART_cfg(void);voidNVIC_cfg(void);intmain(){inti;unsignedcharTxBuf1[]="HELLO,QIANSHUAI,WelcometomySTM32!Pleasepressanykey!";GPIO_cfg();NVIC_cfg();USART_cfg();USART_ClearFlag(USART1,USART_FLAG_TC);//清除标志位,否则第1位数据会丢失for(i=0;TxBuf1[i]!='