【STM32f401学习之路-02】USART串口通信
文章目录
- USART 简介
- USART的功能运用
- USART的配置
- USART接收发送
- USART 接收字节数据点灯
USART 简介
什么是UART?–>串口
作用:两个设备/器件之间进行信息交换
例子:MCU与WIFI通信,MCU与PC通信,MCU与传感器通信
通信是产品的核心
UART其实通信协议,是一种标准的通信协议,需要遵守这种通信协议才能正常通信
UART四要素
波特率:控制通信速度 常用波特率 115200 9600
停止位:表示一帧数据的起始 1bit
数据位:5~8位可选
奇偶校验:默认无校验位
USART的功能运用
USART的配置
void Usart_config(u32 bps){RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//开启复用接口的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//开启串口1的时钟GPIO_InitTypeDef GPIO_InitStruct;GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //设置PA9为USART1的复用接口GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);//设置PA10为USART1的复用接口GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;//设置gpio口为复用模式GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;//推挽模式GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;//pin9,pin10GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;//浮空GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;//高速GPIO_Init(GPIOA,&GPIO_InitStruct);//gpio初始化USART_InitTypeDef USART_InitStruct;USART_InitStruct.USART_BaudRate = bps;//这里的bps为初始化函数可以填入的bpsUSART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//不使用硬件流控制USART_InitStruct.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;//设置串口模式为接收与发送USART_InitStruct.USART_Parity = USART_Parity_No;//不使用验证位USART_InitStruct.USART_StopBits = USART_StopBits_1;//停止位为1位USART_InitStruct.USART_WordLength = USART_WordLength_8b;//数据长度为8位USART_Init(USART1,&USART_InitStruct);//串口初始化NVIC_InitTypeDef NVIC_InitStructure_usart;NVIC_InitStructure_usart.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure_usart.NVIC_IRQChannelCmd = ENABLE;NVIC_InitStructure_usart.NVIC_IRQChannelPreemptionPriority = 2;NVIC_InitStructure_usart.NVIC_IRQChannelSubPriority = 2;NVIC_Init(&NVIC_InitStructure_usart);//初始化中断USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//打开接收中断USART_Cmd(USART1,ENABLE);//启动串口
}
USART接收发送
/*
函数:发送一个字节数据
形参 u8 data
返回值 void
*/
void usart1_send_byte(u8 data)
{while(!USART_GetFlagStatus(USART1,USART_FLAG_TXE)) {} //假如没有收到USART_SendData(USART1,data);
}/*
函数:接收一个字节数据
形参 void
返回值 u8
*/
u8 usart1_rec_byte(void)
{while(!USART_GetFlagStatus(USART1,USART_FLAG_RXNE)) {}return USART_ReceiveData(USART1);
}
USART 接收字节数据点灯
本学习之路
已弃坑,原因大致就是自己学会了不少东西,但是却懒得花时间再次重复一遍,以后可能会发更多的发一些自己认为特别一些的内容,就不再重复造别人已经造过很多次的轮子了。
2022/11/9 KVG
【STM32f401学习之路-02】USART串口通信相关推荐
- STM32平台的USART串口通信
本文目的是编写stm32串口通信程序,实现stm32上电自动循环发送hello LYJ!!!,并可通过上位机控制stm32串口发送与否.通过亲自做一下USART串口通信实验,学习如何使用stm32平台 ...
- windows通信端口初始化失败_STM32实例——USART串口通信实验(二)
USART 串口通信配置步骤 在上面的介绍中,可能有的朋友很不理解,不过没有关系,下面我们讲解如何使用库函数对 USART 进行配置.这个也是在编写程序中必须要了解的.具体步骤如下:(USART 相关 ...
- Docker学习之路02:阿里云镜像加速器
阿里云镜像加速器 Docker学习路线传送门: Docker学习之路01:Docker的安装 Docker学习之路02:阿里云镜像加速器 Docker学习之路03:Docker的常用命令 Docker ...
- STM32F103ZET6+USART+串口通信
STM32F103ZET6+USART+串口通信 一. 通信概述 通信就是数据交换.信息交换.嵌入式系统中,微控制器与其他外围设备相互连接,系统各部件之间进行数字信号/数据的传输就是通信,无论是大型嵌 ...
- STM32CubeMX实现USART串口通信
文章目录 一.实验环境 二.STM32CubeMX的安装 三.使用STM32CubeMX完成串口通信 1. 安装固件库 2.工程设置 四.USART串口通信 1. UART函数库介绍 2.代码编写 3 ...
- USART串口通信实验
整理自:正点原子PPT 文章目录 串口简介 串口通信基本原理 常用串口相关寄存器 串口操作相关函数 硬件连接 串口配置一般步骤 例程参考 升级版 串口简介 详情见STM32F4开发指南 串口通信基本原 ...
- STM32 USART—串口通信
目录 一.串口通信协议物理层电平标准: 1.RS232标准: 2.USB转串口通讯(常用) 3.原生的串口到串口 二.串口通信协议软件层: 三.串口功能框图 1.引脚 2.数据寄存器USART_DR ...
- ros和java通讯_ROS学习之路(二)——通信架构(上)
1. master&&node mater中文名又称为节点管理器,作为管家管理所需要的进程,其作用有两个: 每个node启动时都要向master注册. 管理node之间的通信. nod ...
- 【蓝桥杯】单片机学习(7)——UART串口通信
UART串口通信 一.基础知识介绍 1.通信方式的分类 2.RS232通信接口 3.UART模块介绍 (1)串口控制寄存器SCON(可位寻址) (2)电源控制寄存器PCON(不可位寻址) (3)辅助寄 ...
- STM32的USART串口通信小程序
文章目录 前言 一.串口协议和RS-232.485标准 1.串口通信协议的概念 2.常用协议 2.1 RS-232 2.2 RS-485 3.RS232.485电平与TTL电平的区别 二.STM32的 ...
最新文章
- php拍照从手机相册中选择,Android获取图片:拍照和从相册中选择
- sleep函数_MySQL中的sleep函数介绍
- CF467C George and Job
- IT人士的知识管理-第一篇
- 一个函数处理同个元素多个事件行为------event.type
- jQuery——插入元素节点的方法
- MacOS下如何通过命令搜索文件和打开文件
- 数据结构教程网盘链接_数据结构101:链接列表
- django设置超级管理员_Django的简介与安装
- 封装和@property
- python股票交易微信提醒_python实现秒杀商品的微信自动提醒功能(代码详解)
- poj1691 Painting A Board
- wps如何将字体竖着排列_如何在短时间内,使自己的字看起来更舒服?
- python 主函数传参数
- 嵌入式实操----基于RT1170 首板硬件之CAN BUS TJA1043显示调试(十八)
- libmp4v2的编译及简单DEMO
- 计算机在英语翻译上的运用,有道如何在网页上翻译一句话,有道网页上的字翻译怎么用...
- 在图片上添加文字并生成图片
- 如何挽救婚姻?不想离婚就做好这8个方面,分分钟留下她
- SQL注入:SQL注入类型(手动)SQL注入的检测