×
嵌入式 > 嵌入式开发 > 详情

STM32 103 USART

发布时间:2020-10-09 发布时间:
|
打开对应GPIO时钟 复用时钟 USART时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO | RCC_APB2Periph_USART1, ENABLE );

USART2
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE );

USART3
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE );
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE );

GPIO设置 TX配置为 复用推挽 RX配置为 开漏输入

void GPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO;
GPIO.GPIO_Pin =GPIO_Pin_9;
GPIO.GPIO_Speed =GPIO_Speed_50MHz;
GPIO.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA,&GPIO);//端口初始化

GPIO.GPIO_Pin =GPIO_Pin_10;
GPIO.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO);//端口初始化
}

USART配置

void USART_Configuration(void)//初始化USART
{USART_InitTypeDef USART_InitStructure;//声明参数结构
USART_InitStructure.USART_BaudRate = 9600;//速率9600
USART_InitStructure.USART_WordLength = USART_WordLength_8b;//数据长度
USART_InitStructure.USART_StopBits = USART_StopBits_1;//停止位
USART_InitStructure.USART_Parity = USART_Parity_No;//奇偶校验
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//硬件流
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//发送接收使能
USART_Init(USART1, &USART_InitStructure);//根据USART_InitStruct中指定的参数初始化外设USART1寄存器

USART_Cmd(USART1,ENABLE);//开启USART外设


}

发送数据
USART_SendData(USART1, ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET) {}

引脚定义

IO

USART

重定义

重定义

PA8

USART1_CK

PA9

USART1_TX

PB6

PA10

USART1_RX

PB7

PA11

USART1_CTS

PA12

USART1_RTS

PA0

USART2_CTS

PD3

PA1

USART2_RTS

PD4

PA2

USART2_TX

PD5

PA3

USART2_RX

PD6

PA4

USART2_CK

PD7

PB10

USART3_TX

PD8

PC10

PB11

USART3_RX

PD9

PC11

PB12

USART3_CK

PD10

PC12

PB13

USART3_CTS

PD11

PB14

USART3_RTS

PD12




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM入门篇之(一)概念