欢迎来到天天文库
浏览记录
ID:37905215
大小:740.00 KB
页数:10页
时间:2019-06-02
《USARTx串口 编程步骤》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、USARTx串口编程步骤:第一部分配置串口步骤一加入以下头文件:#include"stm32f10x_lib.h"//若使用RCC_Configuration();使能GPIO外设对应的时钟,还必须加入以下头文件。//若使用具体的使能外设命令(例如,RCC_APB2PeriphClockCmd()等),则不需要加入以下命令。#include"HelloRobot.h"步骤二定义用于初始化USARTx串口参数的结构体变量,同时定义用于初始化GPIOx端口参数的结构体变量:GPIO_InitTypeDefGPIO_InitStructure;U
2、SART_InitTypeDefUSART_InitStructure;这里顺便也定义初始化GPIOx端口参数的结构体变量。!!原因是:串口是通过IO口来进行发送和接收的。步骤三使能USARTx串口外设对应的时钟(以使能USART1为例)同时使能GPIO端口外设对应的时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1
3、RCC_APB2Periph_GPIOA,ENABLE);详细说明见:“在使用USART串口时,首先要使能该外设对应的时钟.doc”或/*Configurethesystemcloc
4、ks*/RCC_Configuration();//(mxchip公司该函数中,需手动加入上行语句,鸥鹏公司已有)步骤四定义USARTx串口的波特率、字长、停止位、奇偶效验位、发送接收模式和硬件流控制,即定义USARTx串口的初始化参数(通过为结构体变量USART_InitStructure的成员赋值实现;同时定义GPIOx端口管脚、响应速度、工作模式,即定义GPIO端口的初始化参数(通过为结构体变量GPIO_InitStructure的成员赋值实现):USART_InitStructure.USART_BaudRate=115200;US
5、ART_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
6、USART_Mode_Tx;USART_InitStructure.USART_HardwareFlowControl=USART_Hardwa
7、reFlowControl_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=GPI
8、O_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_Ini
9、t(USART1,&USART_InitStructure);GPIO_Init(GPIOx,&GPIO_InitStructure);步骤六调用xxx_Cmd(xxx,ENABLE)函数,来使能USARTx串口外设:这里只需要使能USART即可。GPIO端口外设,没有使能即可使用。USART_Cmd(USART1,ENABLE);【若使用中断方式来触发串口收发数据,则必须:调用USART_ITConfig()函数,来使能串口发送和接收的中断:由于使用中断方式来触发串口收发数据,因此,我们在使能串口之时,也使能串口发送和接收中断:USART
10、_ITConfig(USART1,USART_IT_RXNE,ENABLE);//使能串口接收中断:接收缓冲区非空中断使能,即当接收寄存器(RDR)接收到数据,即非空时,产生中断
此文档下载收益归作者所有