中级会员
 
- 积分
- 381
- 金钱
- 381
- 注册时间
- 2014-10-9
- 在线时间
- 6 小时
|
发表于 2014-12-10 11:11:04
|
显示全部楼层
/*******************************************************************************
* Function Name: USART2_Configuration
* Description : None
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART2_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
USART_InitTypeDef USART_InitStructure; //定义USART初始化结构体
/*时钟配置不需要配置AFIO 只要配置为复用功能即可*/
GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_USART2); //配置PA9复用连接到USART1
GPIO_PinAFConfig(GPIOD,GPIO_PinSource6,GPIO_AF_USART2); //配置PA10复用连接到USART1
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; //设置初始化GPIO为PIN9
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置GPIO的速度为50MHz
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//设置GPIO模式为复用模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//设置GPIO输出类型为推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //设置GPIO为连接上拉电阻
GPIO_Init(GPIOD,&GPIO_InitStructure); //初始化GPIOA的PIN9
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6; //设置初始化GPIO为PIN10
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF; //设置GPIO的模式为复用模式
GPIO_Init(GPIOD,&GPIO_InitStructure); //初始化GPIOA的PIN10
USART_InitStructure.USART_BaudRate=115200; //设置USART的波特率为9600
USART_InitStructure.USART_Parity=USART_Parity_No;//设置USART的校验位为None
USART_InitStructure.USART_WordLength=USART_WordLength_8b; //设置USART的数据位为8bit
USART_InitStructure.USART_StopBits=USART_StopBits_1; //设置USART的停止位为1
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //失能硬件流控制
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; //设置USART的模式为发送接收模式
USART_Init(USART2, &USART_InitStructure);//初始化的一种
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//开启中断
USART_Cmd(USART2, ENABLE);//使能串口
}
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure); |
|