新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STM32 103 USART

STM32 103 USART

作者: 时间:2016-12-01 来源:网络 收藏
打开对应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配置为 开漏输入


本文引用地址:https://www.eepw.com.cn/article/201612/324551.htm
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




关键词: STM32103USAR

评论


技术专区

关闭