STM32F4UART串口配置(一)

发布者:自由思考最新更新时间:2022-06-14 来源: eefocus关键字:STM32F4  UART  串口配置 手机看文章 扫描二维码
随时随地手机看文章

UART 配置

1.GPIO时钟使能

RCC_AHB1PeriphClockCmd(GPIO时钟总线,ENABLE); 


2.串口时钟使能

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTX,ENABLE);


3.设置引脚复位映射

GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); 

GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); 


4.配置GPIO为推挽复用上拉

详见GPIO配置


5.串口初始化配置

1.定义结构体

USART_InitTypeDef USART_InitStructure;


2.设置波特率

USART_InitStructure.USART_BaudRate = 波特率;


3.设置数据长度

USART_InitStructure.USART_WordLength = 数据长度;

数据长度:

USART_WordLength_8b;//8位数据

USART_WordLength_9b;//9位数据


4.设置停止位

USART_InitStructure.USART_StopBits = 停止位;

USART_StopBits_1  //在帧结尾传输1个停止位

USART_StopBits_0.5 //在帧结尾传输0.5个停止位

USART_StopBits_2 //在帧结尾传输2个停止位

USART_StopBits_1.5  //在帧结尾传输1.5个停止位


5.设置校验位

USART_InitStructure.USART_Parity = 校验位;

校验位:

USART_Parity_No //奇偶失能

USART_Parity_Even //偶模式

USART_Parity_Odd //奇模式


6.设置硬件流控制

USART_InitStructure.USART_HardwareFlowControl=硬件流控制模式;

硬件控制流模式:

USART_HardwareFlowControl_None 硬件流控制失能

USART_HardwareFlowControl_RTS 发送请求RTS使能

USART_HardwareFlowControl_CTS 清除发送CTS使能

USART_HardwareFlowControl_RTS_CTS RTS和CTS使能


7.设置收发模式

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

USART_Mode_Tx //发送使能

USART_Mode_Rx //接收使能


8.初始化串口

USART_Init(USART1, &USART_InitStructure);


6.串口使能

1.使能串口

USART_Cmd(USART1, ENABLE);


2.清空标志位

qUSART_ClearFlag(USART1, USART_FLAG_TC);


//如需开启中断

7.配置串口中断

1.开启串口中断

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);


2.配置串口中断

详见STM32中断配置步骤


8.编写中断处理函数

USARTx_IRQHandler();


9.串口数据收发

1.发送数据到串口

USART_SendData();


2.从串口接收数据

uint16_t USART_ReceiveData();


10.获取串口状态

FlagStatusUSART_GetFlagStatus();

void USART_ClearITPendingBit()

关键字:STM32F4  UART  串口配置 引用地址:STM32F4UART串口配置(一)

上一篇:STM32F4 NVIC中断配置(一)
下一篇:STM32F4 EXTI外部中断(一)

推荐阅读最新更新时间:2024-10-29 11:08

SAM4E单片机之旅——10、UART与MCK之PLL
为使用更更高的波特率,则需要更更高的外设时钟的频率。这个时候就需要用到锁相环(PLL)了。锁相环可以对输入的时钟进行分频、升频后进行输出。MCK可以使用的锁相环为PLLA,而PLLA的输入时钟为MAINCK。 本节将配置MCK频率为120 MHz,UART波特率为115200 Hz。 一、 PLLA的限制 使用PLLA时需要考虑到它的限制,不然配置失败了也不好找原因。 对输入输出时钟频率的限制 PLLA的输入时钟范围需在3—32 MHz之间(PLLA对输入时钟可以进行预分频),输出时钟需要在80—240 MHz之间。另外,也可以查到,它的最大启动时间为150 us。 CPU运行频率的限制 由于CPU使用的也为MCK时
[单片机]
SAM4E单片机之旅——10、<font color='red'>UART</font>与MCK之PLL
STM32F103与STM32F407的SPI调试笔记
在写入SPI数据数,必须调用 SPI_I2S_ReceiveData(SPI1);读取一次,不然会对数据的读取不正确 u8 SPI_Flash_GetChar(void){ u8 Data = 0; Data = SPI_I2S_ReceiveData(SPI1);//必须读取一次,应该是读后清空寄存器 while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); //SPI_I2S_ClearITPendingBit(SPI1,SPI_I2S_FLAG_TXE); SPI_I2S_SendData(SPI1, 0xff); while (S
[单片机]
STM32F407时钟设置
这里我们写一个RCC配置函数来说明各函数的用途,其中HSE = 8MHz。 /** * @说明 配置STM32F407的时钟系统 * @参数 无 * @返回 无 * @说明 void Clock_Config(void) 按如下表格配置时钟 * *================================================================== * Supported STM32F4xx device revision | Rev A *------------------------------------------------------------------
[单片机]
小熊stm32学习总结:stm32f407 GPIO_PinAFConfig 函数
备用功能配置(除ADC和DAC外的所有非GPIO功能),使用函数 void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF) * This GPIO_AF can be one of the following values: * @arg GPIO_AF_RTC_50Hz: Connect RTC_50Hz pin to AF0 (default after reset) * @arg GPIO_AF_MCO: Connect MCO pin (MCO1 and MCO2) to AF0
[单片机]
stm32f407之NVIC
五、NVIC 中断向量嵌套控制器是用来管理所有中断和事件的,包括中断的使能和除能,中断的优先级。这个是属于内核的东西,所以ST的参考手册上对它的描述较少,但他又是十分重要的东西,要了解它就要看ARM的《Cortex™-M4 Devices Generic User Guide》。 相关寄存器 译自《Cortex™-M4 Devices Generic UserGuide》,若有错误,请以原文为准。 中断使能寄存器NVIC_ISER 中断使能寄存器共有8个,ISER 设置0~31号中断的使能,ISER 设置32~63号中断的使能,如此类推。以下以ISER 为例: SETENA中断设置使能位。 写: 0 =无
[单片机]
<font color='red'>stm32f4</font>07之NVIC
关于ARM MDK使用STM32F4xx 硬件浮点单元的话题
一. 前言 有工程师反应说Keil 下无法使用 STM32F4 xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有一些人反应不知如何使用芯片芯片内部的复杂数学运算,比如三角函数运算。针对这个部分本文将详细介绍如何使用硬件浮点单元以及相关数学运算。 二.问题产生原因 1. ------对于Keil MDK Version 5 版本, 编译器已经完全支持STM32F4xx 的FPU(浮点运算单元),可以直接使用芯片内部的浮点运算单元。 2. ------对于Keil MDK Version 4 版本, 高版本v4,比如当前 keil 官网可下载的v4.74.0.0 版本也已经支持FPU,可以直接使用芯片内部浮点运算。但如果使
[单片机]
关于ARM MDK使用<font color='red'>STM32F4</font>xx 硬件浮点单元的话题
软件模拟串行通信——UART协议实现
起因 双单片机通信,MCU资源受限,无法使用片上UART通道,只可用普通I/O 成果 使用2个普通I/O端口,通过软件实现UART协议的数据全双工收发,8bits数据位、1600波特率,可移植其它单片机 资源占用 ·1个定时器 ·2个普通I/O端口 IDE keil V4 硬件 51最小系统板 一、UART协议 二、思路 1 数据的发送其实就是控制发送引脚Ptxd的电平随着固定时序变化,那么固定的、周期性的时序需要一个定时器来产生。为了保证定时器周期高精度稳定可控,选用自动重装定时器模式 。为了尽可能的减少资源占用,发送和接收共用一个定时器资源。 2 程序的设计采用状态机设计模式,这样可以避免独占CPU
[单片机]
软件模拟串行通信——<font color='red'>UART</font>协议实现
Wavecom推出超小GSM/GPRS四频通信模块,面向M2M应用
  Wavecom公司日前推出据称市场上最小的GSM/GPRS四频通信模块WISMO Quik Q2686,支持GSM/GPRS 850/900/1800/1900 MHz,只要嵌入Q2686,产品即可通行全球(包括韩国,日本除外)。此外,Wavecom亦同步推出其模块操作系统OS 6.60新版本。新版操作系统可整合更多平台,协助研发设计人员能快速导入,开发更多应用。   Quik Q26系列是Wavecom新推出的无线通信模块产品线,专为机器对机器(machine-to-machine)应用所设计。Q26系列搭配新版操作系统OS6.60,为将来EDGE与3G开发铺路。Q2686为Q26系列的第一个成员,大小为40×32.2×4
[工业控制]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved