设置串口USART一般步骤

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设置输出、接收引脚 PA9 PA10

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;//定义一个USART结构体

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置端口速度

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 (Rx输出口)

GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA9

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PA.10

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入(Tx接收口)

GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA10

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //使能USART1时钟

二、设置USART结构体成员参数

USART_ART_BaudRate = 115200; //设置串口波特率

USART_ART_WordLength = USART_WordLength_8b; //设置传输字节长度

USART_ART_StopBits = USART_StopBits_1; //设置停止位USART_StopBits_1 ((uint16_t)0x0000) 停止位为1位

USART_StopBits_0_5 ((uint16_t)0x1000) 停止位为0.5位

USART_StopBits_2 ((uint16_t)0x2000) 停止位为2位

USART_StopBits_1_5 ((uint16_t)0x3000) 停止位为1.5位

USART_ART_Parity = USART_Parity_No; //是否设置奇偶校验位(否)USART_ART_HardwareFlowControl=USART_HardwareFlowControl_N one; //配置硬件流控制

USART_ART_Mode = USART_Mode_Rx | USART_Mode_Tx; //配置串口模式(全双工)

USART_Init(USART1, &USART_InitStructure); // 初始化USART端口

USART_Cmd(USART1, ENABLE); //使能串口

三、重定向printf函数(头文件必须包含

int fputc(int ch, FILE *f)

{

USART_SendData(USART1,(unsigned char) ch);

while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);

return(ch);

}

相关文档
最新文档