OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2133|回复: 3

串口2可以发送不能接收,不能进入串口中断

[复制链接]

11

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2017-8-28
在线时间
39 小时
发表于 2018-2-28 20:44:02 | 显示全部楼层 |阅读模式
1金钱
[mw_shl_code=c,true]GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
                        NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);

    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
        
    USART_DeInit(USART2);
    USART_InitStructure.USART_BaudRate = 1200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_Even;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode =   USART_Mode_Tx|USART_Mode_Rx;

    USART_Init(USART2, &USART_InitStructure);
    USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);

                NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
    NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    USART_Cmd(USART2, ENABLE);[/mw_shl_code]

问题如题,请问是我的配置问题还是其他原因,很奇怪,就是能发送,但接收不了,进入不了串口中断。。。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2018-3-1 09:33:11 | 显示全部楼层
回复

使用道具 举报

8

主题

570

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2914
金钱
2914
注册时间
2016-5-13
在线时间
184 小时
发表于 2018-3-1 09:48:02 | 显示全部楼层
以前遇到过和你一样的情况。看下你用的是startup_stm32f10x_hd.s还是startup_stm32f10x_md.s,确保你用的.s文件和你的硬件芯片是一致的。如果不一致,那么你的串口通信是不正常的。
虽然不明白你们在说什么,但感觉很厉害的样子。
回复

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2018-3-12
在线时间
10 小时
发表于 2018-3-15 17:01:40 | 显示全部楼层
第一看下硬件配置,第二你可以设置下中断分组,第三你看下NVIC的文档
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表