اطلاعیه

Collapse
No announcement yet.

مشکل در pragma code و pragma interrupt

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در pragma code و pragma interrupt

    سلام دوستان
    من یه برنامه نوشتم برای pic18f452 با mplab x و کامپایلر xc8 v1-12 استفاده کردم این برنامه تایمر با وقفه است و با interrupt.c:65: warning: unknown pragma "interrupt"
    interrupt.c warning: unknown pragma "code"
    interrupt.c:81: warning: unknown pragma "code"
    مواجه شدم کسی میتونم به من کمک کنه :sad:
    کد:
    #include<pic18f452.h>
    
    #define mypblbit PORTBbits.RB1
    #define mypb7bit PORTBbits.RB7
    
    void t0_isr(void);
    void t1_isr(void);
    
    #pragma interrupt chk_isr
    void chk_isr(void)
    {
      if(INTCONbits.TMR0IF==1)
        t0_isr();
      if(PIR1bits.TMR1IF==1)
        t1_isr();
    }
    
    #pragma code my_hiprio_int=0x0008
    void my_hiprio_int(void)
    {
     asm("GOTO chk_isr");
     //GOTO chk_isr
     
     }
    #pragma code
    
    void main(void)
    {
      TRISBbits.TRISB1=0;
      TRISBbits.TRISB7=0;
      TRISC=255;
      TRISD=0;
      T0CON=0x0;
      TMR0H=0xff;
      TMR0L=0xfa;
      T1CON=0x88;
      TMR1H=0x35;
      TMR1L=0x00;
      INTCONbits.TMR0IF=0;
      PIR1bits.TMR1IF=0;
      INTCONbits.TMR0IE=1;
      PIE1bits.TMR1IE=1;
      T0CONbits.TMR0ON=1;
      T1CONbits.TMR1ON=1;
      INTCONbits.PEIE=1;
      INTCONbits.GIE=1;
      while(1)
      {
        PORTD=PORTC;
      }
    }
    
    void t0_isr(void)
    {
      mypblbit=~mypblbit;
      TMR0H=0xff;
      TMR0L=0x00;
      INTCONbits.TMR0IF=0;
    }
    void t1_isr(void)
    {
      mypb7bit=~mypb7bit;
      TMR1H=0x35;
      TMR1L=0x00;
      PIR1bits.TMR1IF=0;
    
    }

    #2
    پاسخ : مشکل در pragma code و pragma interrupt

    با سلام.
    برای نوشتن وقفه توی xc8 به این شکل بنویسید:
    Void interrupt isr (void) که به جای isr اسم دلخواه میتونید بنویسید
    برای اطلاعات بیشتر برید توی help کامپایلر.
    چند تاپیک پایین تر هم یه نمونه برنامه هم هست (مشکل با ccp-eccp(
    موفق باشید.
    در زندگيت به کسي اعتــــماد کن که به او ايمــــان داري نه احســاس . . .

    چه بسيار انسان ها ديدم تنشان لباس نبود؛و چه بسيار لباس ها ديدم که انساني درونش نبود ...!

    دیدگاه

    لطفا صبر کنید...
    X