51单片机在外部中断0服务程序中,如何用串口中断??

2019-03-24 18:20发布

51单片机在外部中断0服务程序中,如何用串口中断??

我写的程序有问题吗?为什么我在外部中断0程序中不能用串口中断???




  1. int main(void)
  2. {
  3. while(1);
  4. return 0;
  5. }


  6. //外部中断0
  7. void INT0_Interrput(void) interrupt 0
  8. {

  9.         EX0 = 0;  //关中断
  10.         Init_Display3();
  11.        Delay1ms(1000);
  12.         Usart1_SendString("AT+CLIP=1 ");
  13.         Delay1ms(1000);       
  14.         Receive_Count = 0;                                                                                                                                   
  15.         memset( Usart_Receive, 0x00, sizeof(Usart_Receive) );
  16.         Init_Display4();
  17.         Init_Display3();
  18.        
  19.         while(1)
  20.         {
  21.                 Beep();
  22.                 Gsm_CallInCheck();
  23.         }
  24. EX0 = 1;//开中断
  25. }

  26. //串口中断
  27. void Usart1_Interrupt(void) interrupt 4
  28. {
  29.         if (RI)
  30.         {
  31.                 RI = 0;                                                                                                      
  32.                 Usart_Receive[Receive_Count] = SBUF;            
  33.                 Receive_Count++;
  34.                 if (Receive_Count >= BUF_SIZE)
  35.                 {
  36.                         Receive_Count = 0;       
  37.                 }               
  38.         }
  39. }

复制代码


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
ITqiaojun
1楼-- · 2019-03-24 23:05
期待大家的指点迷津!!!谢谢!!!

一周热门 更多>