OpenEdv-开源电子网

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

USART3接收中断进不去,高手帮看看

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-11-20
在线时间
0 小时
发表于 2015-11-27 09:53:00 | 显示全部楼层 |阅读模式
5金钱

附上代码,大家帮看看,初始化时没开发送中断,我只测试接收,如果进入中断服务函数则能看见灯闪烁,但怎么测试也进不去。
我测试发送中断时就可以正常进入!
求高手快帮解决!!!!!!!!!!!!!!!!



void RS232_IRQHandler(void)
{
 
    LED2_Toggle();     
   //LED1_ON();
 
    if(USART_GetITStatus(RS232_USART, USART_IT_TXE) != RESET)//·????????÷?? ????
   {
    if(SendPosi <6 )  
    {
     RS232_USART->DR = RS232_sendB[SendPosi] & 0x01FF;
   
     SendPosi++;
    if(SendPosi>5)  SendPosi=0;
  
      }
    else    //----------虽然DR空了,但是还要检测发送完成标志位
    {
     while( USART_GetFlagStatus(RS232_USART, USART_FLAG_TC) == RESET ) ;   
      USART_ClearFlag(RS232_USART,USART_FLAG_TC); 
     usleep(20);
     USART_ITConfig(RS232_USART, USART_IT_TXE, DISABLE);     //------关接收中断
    SendPosi=0;
    }   
  }  
  
//---如果接收寄存器非空     
    if(USART_GetITStatus(RS232_USART, USART_IT_RXNE) != RESET)  
   {  
     RS232_receB[RecePosi] = RS232_USART->DR & 0x00FF;  
       RecePosi++;  
     if(RecePosi>5)  RecePosi=0;

   }
  
}
//------------RS232就是USART3-------------------------------
void RS232_Configuration(void)

  GPIO_InitTypeDef   GPIO_InitStructure;
  USART_InitTypeDef  USART_InitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;


   GPIO_InitStructure.GPIO_Pin =  RS232_Pin_RX;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //232RX--?ü??????
    GPIO_Init(RS232_GPIO_RX, &GPIO_InitStructure);

   GPIO_InitStructure.GPIO_Pin = RS232_Pin_TX;          
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;       //232TX--???????ì???? 
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(RS232_GPIO_TX, &GPIO_InitStructure);

 

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//------开USART3时钟

   NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
 
    //USART_InitStructure.USART_BaudRate = aBaud[(u32)(unReg_RS232.stu.Comm_Baud)]; 
    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;   //(RTS and CTS signals)
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_Init(RS232_USART, &USART_InitStructure); // Configure USART3

    USART_ITConfig(RS232_USART, USART_IT_RXNE, ENABLE);  
    USART_Cmd(RS232_USART, ENABLE);

}



 

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-27 20:30:22 | 显示全部楼层
中断名字貌似不是这个吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-4-14
在线时间
3 小时
发表于 2015-11-27 20:47:06 | 显示全部楼层
启动文件重定义了?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-11-20
在线时间
0 小时
 楼主| 发表于 2015-11-27 21:23:39 | 显示全部楼层
回复【3楼】小白菜:
---------------------------------
#define RS232_USART_IRQHandler  USART3_IRQHandler
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-11-20
在线时间
0 小时
 楼主| 发表于 2015-11-27 21:24:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
#define RS232_USART_IRQHandler  USART3_IRQHandler

定义了
我只做一个程序,测试中断,就是不进接收中断,发送都正常
回复

使用道具 举报

0

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2014-6-5
在线时间
37 小时
发表于 2015-11-28 08:53:57 | 显示全部楼层
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;    此处有误   估计直接COPY过来的代码  还没改   这一行的上一行也是同样的错误   稍微细心一点就不会出这种问题了

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-16 16:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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