STM32CubeMX配置串口
配置串口
1.在Piont&Configuration中的A->Z找到USART1;
2.第一个选项Mode是用来设置串口模式或关闭串口,第二个选项Hardware Flow Control用来开启硬件流控制。Mode中选用Asynchronous(异步通信),不使用硬件流控制;
这时候就会发现PA10和PA9自动设置位发送和接受模式。
3.在GPIO Settings中设置PA9及PA10;
4.在Parameter Settings设置波特率115200,8位字长,无奇偶校验位,1个停止位,接受和发送均开启,过采样8位;
5.在NVIC Settings中USART1 global interrupt勾选Enable。
6.在A->Z中找到NVIC,并按如下图配置
7.在Project Manage设置如下图所示
8.最后创建代码,在创建的工程中找到main.c就会有串口初始化代码
static void MX_USART1_UART_Init(void)
{huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_8;
HAL_UART_Init(&huart1);}
9.在stm32f4xx_hal_msp.c中可以看到USART1的回调函数
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(huart->Instance==USART1)
{
__HAL_RCC_USART1_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);HAL_NVIC_SetPriority(USART1_IRQn, 3, 3);
HAL_NVIC_EnableIRQ(USART1_IRQn);}
}
STM32CubeMX配置串口相关推荐
- STM32CUBEMX配置教程(八)STM32串口轮询发送中断接收+重定义+优化
STM32CUBEMX配置教程(八)STM32串口轮询发送中断接收+重定义+优化 基于STM32H743VI 使用STM32CUBEMX两年了,始终觉得这个工具非常的方便,但因为不是经常使用,导致有些 ...
- 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1
1:下载软件 点击 这里立即下载,共454M. 2:通过STM32CubeMX配置USART1,CAN1 1:创建工程 创建文件夹存放工程 添加工程名称及路径: 为每个驱动单独创建.c和.h文件. 2 ...
- STM32CubeMX实现串口DMA中断通信
文章目录 一. 环境 二. 使用STM32CubeMX 三. USART DMA中断通信 1. UART函数库介绍 2. 编写代码 3. 最终效果 四. 软件调试 五. 总结 一. 环境 硬件:stm ...
- STM32CubeMX实现串口中断通信
文章目录 一. 环境 二. 使用STM32CubeMX 三. USART中断通信 1. UART函数库介绍 2. 编写代码 3. 最终效果 四. 软件调试 五. 总结 一. 环境 硬件:stm32f1 ...
- 利用STM32CubeMX配置基于STMF32F407的FREERTOS操作系统控制直流电机速度和超声波测距实验
前两周做基于STM32F407芯片的嵌入式系统设计的实验,主要完成利用超声波测距(电脑上用串口显示超声波所测距离,障碍物近于20cm时,使LED灯闪烁,并且可以通过串口更改报警距离)和利用编码器读取电 ...
- STM32CubeMX 配置CAN总线进行双板通信(STM32F103C8T6)
本篇详细的记录了如何使用STM32CubeMX配置 STM32F103C8T6 的硬件CAN接口与另一个开发板之间通信. 1.硬件设计 我这里使用的TJA1050T作为CAN通信收发器,连接f103的 ...
- STM32CubeMX配置ADC采样(轮询、中断、DMA)
选择DMA循环采集DMA_CIRCULAR uint16_t ADCRes[ADC_DMA_BUF_SIZE]; //变量易变,编译器不能随便优化 #define ADC_Ech_Channel 3 ...
- STM32CubeMX实现串口通信
文章目录 一. 环境 二. 使用STM32CubeMX 1. 安装固件库 2. 工程设置 三. USART串口通信 1. UART函数库介绍 2. 代码编写 3. 最终效果 四. 软件调试 五. 总结 ...
- CubeMX配置串口的程序烧入板子不跑的解决方法
对于cubeMX配置串口,keil5编译通过的,自己确定无问题的程序,以ISP烧入,烧入板子后无法运行的情况,我暂时的解决策略是按住reset键点击"开始编程",点击后松开rese ...
最新文章
- 通过jquery获取td下的input标签的值,并且改变onclick的参数值
- windows 2012 apache php mysql_Windows Server 2012 R2搭建 Apache+PHP+MYSQL环境
- git全局ignore
- DebugView的使用[通用汇总]
- SAS在金融中的应用六
- TX1在opencv中调用gstreamer解码海康IP摄像头
- 集成电路的设计 —— 半导体
- 快速查找对方IP经典技巧汇总
- 互联网热门词汇搞笑来袭
- oracle 取前行,【企业信息化研究所】TF-SWUFE Oracle Club抵着寒风前行—甲骨文俱乐部第九周分享会...
- Error starting child
- 《计算机组成原理》期末习题讲解和重点复习内容
- 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation
- 暴多的教学视频,想要的就快下!
- K近邻算法应用——价格预测
- 2020届c++工程师求职准备——计划篇(2019.03.05.)
- 前端常用正则表达式(详细版)
- win10/win11系统安装Tensorflow-GPU
- oracle 分组过滤空值,oracle 空值处理,排序过滤
- java模拟atm_Java第一课——模拟ATM机