微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stm32串口中断接收发送实验

stm32串口中断接收发送实验

时间:11-19 来源:互联网 点击:

,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--);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top