您的位置 首页 产品

STM32 103 USART

打开对应GPIO时钟复用时钟USART时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA

翻开对应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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/317797.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部