串口通信简介
- 物理层主要就是定义通信接口、电平标准这些东西
- 物理接口是指UART、USB、COM这类物理形式的硬件
-电平标准:根据使用的电平不同,串口通信可以分为TTL标准和RS-232标准
-TTL:理想状态下5V代表逻辑1,0V代表逻辑0
-RS-232:理想状态下-15V代表逻辑1,+15V代表逻辑0
- 协议层
主要规定了数据的格式,数据包由起始位、数据位、校验位以及停止位组成。通信双方的数据包格式必须一致才能正常接发数据。
用STM32CubeMX新建UART
stm32f1配备了3个USART,2个UART;
USART:全称“通用同步异步收发器”;
UART:是阉割版的USART,把同步的功能给去掉了,只能异步通信。
平时用的比较多的是UART。
注意:本工程使用USART1的异步通信功能
1. 新建工程
- File->NewProject
- 芯片选型
3.配置RCC
- 配置USART1
- Connectivity→USART1
- 模式选择:异步,Asynchronous
- 无硬件流控
- 波特率:115200;数据长度:8;奇偶校验位:无(None);停止位:1;数据方向:收发;
- 由于串口需要中断,所以要使能串口中断
5.配置系统时钟
6.配置工程
编辑业务代码
void Usart_Sendstring(uint8_t *str)
{
unsigned int k = 0;
do
{
HAL_UART_Transmit(&huart1, (uint8_t *)(str + k), 1, 1000);
} while (*(str + k) != '