#一、串口介绍
#二、项目所需硬件
##1.USB转串口模块
#三、项目代码
一、串口介绍
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)
通用同步/异步串行接收/发送器
USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。
1、单工(Simplex)
单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
2、半双工(Half Duplex)
半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。半双工通信实际上是一种可切换方向的单工通信。
3、全双工(Full Duplex)
全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。
TTL电平:数字芯片的电平,单片机。(电压范围:0V~5V)
232电平:电脑串口的电平,负逻辑。(电压范围:-15V~15V)
1.USB转串口模块主要应用于电脑与其他设备的连接,使用的时候电脑需要安装电平转换芯片驱动。
USB转串口模块示意图,如图。
2.原生串口通信主要用于设备与传感器的连接,不需要经过电平转换芯片直接用TTL电平通信,如GPS模块,串口转WIFI模块(ESP8266),蓝牙模块(HC05)
3.串口数据包的基本组成:起始位、有效数据位,校验位和停止位
4.串口数据包校验位
5.**USART:**通用同步异步收发器
6.USART引脚位置:
PA10/USART1_RX
PA9/USART1_TX
PA8/USART1_CLK
7.串口的结构体配置
8.串口初始化函数
二、项目所需硬件
1、STM32F103C8T6开发板
串口的配置:
1.电源——VCC3.3V
2.接地——GND
3.输出端——TX(PA9)
4.输入端——RX(PA10)
2、USB转串口模块
接线配置:
1.电源:3.3V——3.3V
2.接地:GND——GND
3.输出:TXD——RX(PA10)
4.输入:RXD——TX(PA9)
三、项目代码
1.main.c
#include "stm32f10x.h"
#include "main.h"
#include "LED.h"
#include "usart.h"
#include "relay.h"
#include "shake.h"
#include "exti.h"
void delay(uint16_t time)//延迟函数
{
uint16_t i=0;
while(time--)
{
i=12000;
while(i--);
}
}
int main()
<