OpenEdv-开源电子网

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

求助!串口2中断接收的问题,收不到数据

[复制链接]

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
发表于 2018-4-19 11:36:03 | 显示全部楼层 |阅读模式
5金钱
void USART2_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
        USART_DeInit(USART2);
       
        USART2_IRQHandler();
                /* USART2 ê1óÃIO¶Ë¿úÅäÖà */   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //¸′óÃíÆíìêä3ö
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  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);   //3õê¼»ˉGPIOA
          
        /* USART2 1¤×÷Ä£ê½ÅäÖà */
        USART_InitStructure.USART_BaudRate = 115200;        //2¨ìØÂêéèÖão115200
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //êy¾YλêyéèÖão8λ
        USART_InitStructure.USART_StopBits = USART_StopBits_1;         //í£Ö1λéèÖão1λ
        USART_InitStructure.USART_Parity = USART_Parity_No ;  //êÇ·ñÆæÅ¼D£Ñé£oÎT
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //ó2¼tá÷¿ØÖÆÄ£ê½éèÖãoûóDê1Äü
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//½óêÕóë·¢Ëí¶¼ê1Äü
        USART_Init(USART2, &USART_InitStructure);  //3õê¼»ˉUSART2
       
       
        USART_Cmd(USART2, ENABLE);// USART2ê1Äü
        USART_ITConfig(USART2,USART_FLAG_RXNE,ENABLE);
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);
        NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
        NVIC_Init(&NVIC_InitStructure);
}
void USART2_IRQHandler(void)
{
        u8 ch;
        if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) != RESET)
        {
                ch=USART_ReceiveData(USART2);
                UART2SendByte(ch);
                Rx_buf[rev_count++]=ch;
        }
}
大家帮忙看看哪边配置的不对,小弟是新手


最佳答案

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

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10571
金钱
10571
注册时间
2017-2-18
在线时间
1914 小时
发表于 2018-4-19 11:36:04 | 显示全部楼层
可以参考下

探索者 串口2上位机自发自收.rar

2.97 MB, 下载次数: 113

精英 战舰V3 串口2(PA2,PA3).zip

2.63 MB, 下载次数: 83

MINI 串口2自发自收(PA2接RXD,PA3接TXD).rar

1.86 MB, 下载次数: 87

回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-19 11:42:59 | 显示全部楼层
自顶1111
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-4-19
在线时间
0 小时
发表于 2018-4-19 11:44:00 | 显示全部楼层
本帖最后由 jackey 于 2018-4-19 11:45 编辑

管脚复用功能的时钟“RCC_APB2Periph_AFIO”没开,而且中断函数“USART2_IRQHandler();”不应该放在主程序中
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-19 11:50:56 | 显示全部楼层
还是不行
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-19 13:36:02 | 显示全部楼层
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-4-19
在线时间
0 小时
发表于 2018-4-19 14:00:45 | 显示全部楼层
接收中断配置是"USART_ITConfig(UARTx, USART_IT_RXNE, ENABLE);"
再将“void USART2_IRQHandler(void)”整个函数copy到“stm32f10x_it.c”文件中,并在“stm32f10x_it.h”文件中添加“void USART2_IRQHandler(void);”
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-19 16:14:09 | 显示全部楼层
好难受,还是不能接收到数据
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-19 17:39:05 | 显示全部楼层
jackey 发表于 2018-4-19 14:00
接收中断配置是"USART_ITConfig(UARTx, USART_IT_RXNE, ENABLE);"
再将“void USART2_IRQHandler(void)” ...

还是只能发送不能接收到数据
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2018-4-19 17:43:21 | 显示全部楼层
103的么  发你一个你看下

103串口2实验.rar

339.97 KB, 下载次数: 112

回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2018-3-24
在线时间
13 小时
 楼主| 发表于 2018-4-20 16:40:11 | 显示全部楼层
还是没弄好 ,定时器和RTC的中断可以进,唯独串口中断进不去
回复

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2019-7-18
在线时间
18 小时
发表于 2019-7-18 12:22:59 | 显示全部楼层
兄弟,你解决了么,我也遇到了相同的问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 12:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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