你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030串口中断问题

[复制链接]
渣渣华 提问时间:2019-6-16 20:48 /
悬赏10ST金币未解决
开发板上的串口1和传感器通信,MCU发送指令,传感器收到数据,并且回复了数据,但是MCU接收数据只进入了一次中断,之后不再进入了,麻烦各位帮忙分析一下这是什么问题?下面是我的代码******************************************************
void USART_Configuration(void)//串口初始化函数
{  
        GPIO_InitTypeDef  GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;

        NVIC_InitTypeDef NVIC_InitStructure;

        RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE );

        GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);        
        /*
        *  USART1_TX -> PA9 , USART1_RX ->        PA10
        */                                
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;                 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);        


        NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);

        USART_InitStructure.USART_BaudRate = 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;//设置工作模式
        USART_Init(USART1, &USART_InitStructure); //配置入结构体

        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART1, ENABLE);//使能串口1

}在线求助各位。

收藏 评论7 发布时间:2019-6-16 20:48

举报

7个回答
jeffhe1 回答时间:2019-6-17 09:44:54
這是初始化設定 , 不適還要看你中斷設置 , 或者 要完整 code 才知道

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

五哥1 回答时间:2019-6-17 13:12:58
这个是串口初始化,没有看出有错,建议你把程序的其他部分,尤其是中断部分放上来。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

渣渣华 回答时间:2019-6-17 14:03:01
jeffhe1 发表于 2019-6-17 09:44
這是初始化設定 , 不適還要看你中斷設置 , 或者 要完整 code 才知道

很奇怪,我昨天明明是把中断还有main的code都放上去了,怎么没有显示的
渣渣华 回答时间:2019-6-17 14:03:28
五哥1 发表于 2019-6-17 13:12
这个是串口初始化,没有看出有错,建议你把程序的其他部分,尤其是中断部分放上来。 ...

我记得我把程序复制了,不知道为什么没有显示
bl2019 回答时间:2019-6-17 15:53:44
重新发一下,学习一下

评分

参与人数 1ST金币 -1 收起 理由
STMCU -1 不要在求助帖下发无关话题

查看全部评分

渣渣华 回答时间:2019-6-20 14:08:50
bl2019 发表于 2019-6-17 15:53
重新发一下,学习一下

已经解决了,原来不是我软件的问题,硬件出问题了,传过来的数据就只有一个字节,所以没有就只收到一个字节的数据。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2 谢谢分享

查看全部评分

bl2019 回答时间:2019-6-20 15:16:20
渣渣华 发表于 2019-6-20 14:08
已经解决了,原来不是我软件的问题,硬件出问题了,传过来的数据就只有一个字节,所以没有就只收到一个字 ...

好的恭喜
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版