配置串口

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配置串口相关推荐

  1. STM32CUBEMX配置教程(八)STM32串口轮询发送中断接收+重定义+优化

    STM32CUBEMX配置教程(八)STM32串口轮询发送中断接收+重定义+优化 基于STM32H743VI 使用STM32CUBEMX两年了,始终觉得这个工具非常的方便,但因为不是经常使用,导致有些 ...

  2. 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1

    1:下载软件 点击 这里立即下载,共454M. 2:通过STM32CubeMX配置USART1,CAN1 1:创建工程 创建文件夹存放工程 添加工程名称及路径: 为每个驱动单独创建.c和.h文件. 2 ...

  3. STM32CubeMX实现串口DMA中断通信

    文章目录 一. 环境 二. 使用STM32CubeMX 三. USART DMA中断通信 1. UART函数库介绍 2. 编写代码 3. 最终效果 四. 软件调试 五. 总结 一. 环境 硬件:stm ...

  4. STM32CubeMX实现串口中断通信

    文章目录 一. 环境 二. 使用STM32CubeMX 三. USART中断通信 1. UART函数库介绍 2. 编写代码 3. 最终效果 四. 软件调试 五. 总结 一. 环境 硬件:stm32f1 ...

  5. 利用STM32CubeMX配置基于STMF32F407的FREERTOS操作系统控制直流电机速度和超声波测距实验

    前两周做基于STM32F407芯片的嵌入式系统设计的实验,主要完成利用超声波测距(电脑上用串口显示超声波所测距离,障碍物近于20cm时,使LED灯闪烁,并且可以通过串口更改报警距离)和利用编码器读取电 ...

  6. STM32CubeMX 配置CAN总线进行双板通信(STM32F103C8T6)

    本篇详细的记录了如何使用STM32CubeMX配置 STM32F103C8T6 的硬件CAN接口与另一个开发板之间通信. 1.硬件设计 我这里使用的TJA1050T作为CAN通信收发器,连接f103的 ...

  7. STM32CubeMX配置ADC采样(轮询、中断、DMA)

    选择DMA循环采集DMA_CIRCULAR uint16_t ADCRes[ADC_DMA_BUF_SIZE]; //变量易变,编译器不能随便优化 #define ADC_Ech_Channel 3 ...

  8. STM32CubeMX实现串口通信

    文章目录 一. 环境 二. 使用STM32CubeMX 1. 安装固件库 2. 工程设置 三. USART串口通信 1. UART函数库介绍 2. 代码编写 3. 最终效果 四. 软件调试 五. 总结 ...

  9. CubeMX配置串口的程序烧入板子不跑的解决方法

    对于cubeMX配置串口,keil5编译通过的,自己确定无问题的程序,以ISP烧入,烧入板子后无法运行的情况,我暂时的解决策略是按住reset键点击"开始编程",点击后松开rese ...

最新文章

  1. 通过jquery获取td下的input标签的值,并且改变onclick的参数值
  2. windows 2012 apache php mysql_Windows Server 2012 R2搭建 Apache+PHP+MYSQL环境
  3. git全局ignore
  4. DebugView的使用[通用汇总]
  5. SAS在金融中的应用六
  6. TX1在opencv中调用gstreamer解码海康IP摄像头
  7. 集成电路的设计 —— 半导体
  8. 快速查找对方IP经典技巧汇总
  9. 互联网热门词汇搞笑来袭
  10. oracle 取前行,【企业信息化研究所】TF-SWUFE Oracle Club抵着寒风前行—甲骨文俱乐部第九周分享会...
  11. Error starting child
  12. 《计算机组成原理》期末习题讲解和重点复习内容
  13. 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation
  14. 暴多的教学视频,想要的就快下!
  15. K近邻算法应用——价格预测
  16. 2020届c++工程师求职准备——计划篇(2019.03.05.)
  17. 前端常用正则表达式(详细版)
  18. win10/win11系统安装Tensorflow-GPU
  19. oracle 分组过滤空值,oracle 空值处理,排序过滤
  20. java模拟atm_Java第一课——模拟ATM机

热门文章

  1. Kubernetes command、args的区别
  2. 高等数学---数列的极限
  3. cancelBubble = true
  4. 放弃卷,就只能躺平吗?当下年轻人该如何破局?
  5. JAVA基础-面向对象05
  6. CFA中国之队国际青年足球锦标赛
  7. spring-retry使用介绍
  8. Cortex M4 中断向量表
  9. Cisco思科交换机 入门 - 查看本机IP地址
  10. Cocoapod集成阿里百川电商SDK 常见问题 解决方案