- 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()函数,来使能串口发送和接收的中断:
由于使用中断方式来触发
您可能关注的文档
- 2003年4月自学考试电力系统自动装置试题第一部分.doc
- 经典高考题及答案.doc
- 孔乙己--杨宪益译.doc
- 神经病理性疼痛文章精华.doc
- 出生缺陷检验.doc
- Nasopharyngeal carcinoma鼻咽癌.doc
- 水浒传人物中英文译名 50个.doc
- 第十章篇章翻译(学生用).doc
- 雷甜-----综述.doc
- 英文写作第一反应词替换表【转发分享】.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)