打印
[STM32F3]

stm32f334usart中断处理问题,求帮助

[复制链接]
116|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2023-11-20 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于usart初始化如下,能够进入中断,但中断处理函数好像没能处理,求大神指正
void Usart2Init(void)
{
        GPIO_InitTypeDef iousart;
        USART_InitTypeDef uusart;
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
        //config GPIO
        iousart.GPIO_Mode=GPIO_Mode_AF;
        iousart.GPIO_OType=GPIO_OType_PP;
        iousart.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3;
        iousart.GPIO_PuPd=GPIO_PuPd_UP;
        iousart.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&iousart);
        
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_7);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_7);
        
        uusart.USART_BaudRate=9600;
        uusart.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
        uusart.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
        uusart.USART_Parity=USART_Parity_No;
        uusart.USART_StopBits=USART_StopBits_1;
        uusart.USART_WordLength=USART_WordLength_8b;
        
        USART_Init(USART2,&uusart);
        USART_ClearFlag(USART2,USART_FLAG_TXE);
        USART_ClearFlag(USART2,USART_FLAG_RXNE);
        
        NVIC_EnableIRQ(USART2_IRQn);
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART2,ENABLE);
        
}
中断处理函数如下:
void USART2_IRQHandler(void)
{
if(USART_GetiTStatus(USART2,USART_IT_RXNE)!=RESET)
{
         USART_SendData(USART2,USART_ReceiveData(USART2));
         while(USART_GetFlagStatus(USART2, USART_FLAG_TXE)==RESET);
        }
}
能够成功的给上位机发送数据

使用特权

评论回复
沙发
未说出口的像你| | 2023-12-18 15:00 | 只看该作者
用开复位7的功能么?

使用特权

评论回复
板凳
在曼谷的春| | 2023-12-18 17:00 | 只看该作者
感觉不需要配置GPIO_PinAFConfig这块儿吧

使用特权

评论回复
地板
月亮一键变蓝| | 2023-12-18 19:00 | 只看该作者
你用cubemx配置一下吧,或者模拟之前的串口1,写出串口2,也许就可以了

使用特权

评论回复
5
将爱藏于深海| | 2023-12-18 21:00 | 只看该作者
看你函数没啥问题,确实不知道为啥不好使

使用特权

评论回复
6
温室雏菊| | 2023-12-18 23:00 | 只看该作者
你仿真看看?看你程序怎么运行的

使用特权

评论回复
7
故意相遇| | 2023-12-19 01:00 | 只看该作者
你主函数初始化的时候,加入这个子函数了么?

使用特权

评论回复
8
白马过平川| | 2023-12-19 05:00 | 只看该作者
是不是串口2的引脚被占用过了?

使用特权

评论回复
9
风凉| | 2023-12-19 07:00 | 只看该作者
你用串口1试试,也许是你串口2的引脚定义不太对

使用特权

评论回复
10
西洲| | 2023-12-19 09:00 | 只看该作者
一般直接定义串口2就行了,没必要开复用功能的

使用特权

评论回复
11
捧一束彼岸花| | 2023-12-19 14:00 | 只看该作者
你编译的时候,没有报错吗?按理来说没啥问题啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

980

主题

4069

帖子

10

粉丝