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

STM32F401RE NUCLEO求助,串口一直不能进中断

[复制链接]
mcuyangyifan 提问时间:2015-11-12 15:32 /
用STM32F401RE NUCLEO串口中断收发,配置函数如下:
void UARTConfiguration(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef        NVIC_InitStructure;        
        USART_ClockInitTypeDef USART_ClockInitStruct;

         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);

        GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_USART2);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_USART2);
        
        GPIO_StructInit(&GPIO_InitStructure);        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
        
//        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
//        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
//        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
//        GPIO_Init(GPIOA,&GPIO_InitStructure);

//        USART_DeInit(USART2);
//        USART_OverSampling8Cmd(USART2,ENABLE);
        USART_StructInit(&USART_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(USART2, &USART_InitStructure);
        USART_ClockStructInit(&USART_ClockInitStruct);   
  USART_ClockInit(USART2, &USART_ClockInitStruct);
        USART_Cmd(USART2, ENABLE);
//        USART_ClearFlag(USART2,USART_FLAG_TC);
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
        
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        
        NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
        NVIC_Init(&NVIC_InitStructure);
}

串口一直不能进中断,而且如果在主函数中发数据,串口调试助手中也没有数据,求大神指点一下,或者直接给我一个STM32F401RE NUCLEO串口的例程
收藏 评论11 发布时间:2015-11-12 15:32

举报

11个回答
回答时间:2015-11-12 16:32:35
IO配置问题,TX为输出,RX为输入.
mcuyangyifan 回答时间:2015-11-12 18:49:50
安 发表于 2015-11-12 16:32
IO配置问题,TX为输出,RX为输入.

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;这里配置为OUT??
拉肚肚 回答时间:2015-11-12 19:12:02
只为领金币。。。
回答时间:2015-11-13 08:53:15
TX配置为输出,RX配置为输入。
lettingGO 回答时间:2016-5-13 13:56:55
同问,楼主解决了吗?
nashchen17 回答时间:2016-8-10 11:42:48
我最近也遇到類似問題,不知樓主加時間是否解決
学习痴狂 回答时间:2017-7-11 15:39:14
楼主解决了吗?我也是这个问题
学习痴狂 回答时间:2017-7-11 15:57:02
nashchen17 发表于 2016-8-10 11:42
我最近也遇到類似問題,不知樓主加時間是否解決

请问您解决了吗
学习痴狂 回答时间:2017-7-11 15:57:20
lettingGO 发表于 2016-5-13 13:56
同问,楼主解决了吗?

请问您解决了吗
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版