stm32串口中断接收发送实验
,0x0);//FLASH
#endif
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//选择第2组为优先级分组方式:高2位指定抢占优先级,低2位指定响应优先级
/*enablinginterrupt*/
NVIC_InitStructure.NVIC_IRQChannel=USART3_IRQChannel;//USART中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//占先级为0级,最高
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;//响应级最高0
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//启动中断
NVIC_Init(&NVIC_InitStructure);//初始化嵌套向量中断控制器
}
/******************************************************************************************
*函数名称:GPIO_Configuration
*功能描述:
*参数:
*
*返回值:
*作者:
*创建日期:2013年5月2日
*全局变量:
*全局静态变量:
*局部静态变量:
******************************************************************************************/
voidGPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,释放PA15,PB3,PB4
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
/*ConfigureUSART3Tx(PB.10)asalternatefunctionpush-pull*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
/*ConfigureUSART3Rx(PB.11)asinputfloating*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB,&GPIO_InitStructure);//RX初始化
}
/******************************************************************************************
*函数名称:GPIO_Configuration
*功能描述:
*参数:
*
*返回值:
*作者:
*创建日期:2013年5月2日
*全局变量:
*全局静态变量:
*局部静态变量:
******************************************************************************************/
voidUSART_Configuration(void)
{
USART_InitTypeDefUSART_InitStructure;
USART_InitStructure.USART_BaudRate=9600;//波特率9600
USART_InitStructure.USART_WordLength=USART_WordLength_8b;//字符长度
USART_InitStructure.USART_StopBits=USART_StopBits_1;//停止位
USART_InitStructure.USART_Parity=USART_Parity_No;//
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//硬件流量控制无
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;//串口发送和接收模式
/*ConfigureUSART3basicandasynchronousparamters*/
USART_Init(USART3,&USART_InitStructure);//串口初始化
/*EnableUSART3*/
USART_Cmd(USART3,ENABLE);//指令打开
/*EnablesCOMtransmitinterrupt*/
USART_ITConfig(USART3,USART_IT_TC,ENABLE);//发送中断打开
/*EnablesCOMreceiveinterrupt*/
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//接收中断打开
}
voidDelay(vu32nCount)
{
for(;nCount!=0;nCount--);
}
stm32串口中断接收发 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)