- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USARTx串口 编程步骤
USARTx串口 编程步骤:
第一部分 配置串口
步骤一 加入以下头文件:
#include stm32f10x_lib.h
//若使用RCC_Configuration( ); 使能GPIO外设对应的时钟,还必须加入以下头文件。//若使用具体的使能外设命令(例如,RCC_APB2PeriphClockCmd( )等 ),则不需要加入以下命令。
#include HelloRobot.h
步骤二 定义 用于初始化USARTx串口参数的结构体变量,
同时定义 用于初始化GPIOx 端口参数的结构体变量:
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
这里顺便也定义 初始化GPIOx 端口参数的结构体变量。
!!原因是:串口是通过IO 口来进行发送和接收的。
步骤三 使能USARTx串口外设对应的时钟(以使能USART1为例)
同时使能GPIO端口外设对应的时钟:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA,ENABLE);
详细说明见:“在使用USART串口时,首先要使能该外设对应的时钟.doc”
或
/* Configure the system clocks */
RCC_Configuration( ); //(mxchip公司该函数中,需手动加入上行语句,鸥鹏公司已有)
步骤四 定义USARTx串口的波特率、字长、停止位、奇偶效验位、发送接收模式和硬件流控制,即定义USARTx串口的初始化参数(通过为结构体变量USART _InitStructure 的成员赋值实现;
同时定义GPIOx端口管脚、响应速度、工作模式,即定义GPIO端口的初始化参数(通过为结构体变量GPIO_InitStructure 的成员赋值实现):
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_InitStructure.USART_HardwareFlowControl =
USART_HardwareFlowControl_None;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, GPIO_InitStructure);
注意:
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;不能设置成为
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
否则,无法在PC显示屏上,输出欲显示的字符。
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, GPIO_InitStructure);
步骤五 ( 调用函数USART_Init()来 )初始化USARTx串口,(完成对串口中的寄存器的设置。)
( 调用函数GPIO_Init()来 )初始化GPIOx端口,(完成对端口中的寄存器的设置。)
代码如下:
USART_Init(USART1, USART_InitStructure);
GPIO_Init(GPIOx , GPIO_InitStructure);
步骤六 调用xxx_Cmd(xxx,ENABLE)函数,来使能USARTx串口外设:
这里只需要使能USART即可。GPIO端口外设,没有使能即可使用。
USART_Cmd(USART1,ENABLE);
【若使用中断方式来触发串口收发数据,则必须:
调用USART_ITConfig()函数,来使能串口发送和接收的中断:
由于使用中断方式来触发
文档评论(0)