ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2013/03/04
    1
    0

    مشکل در 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. #2
    2008/10/10
    اصفهان
    67
    1

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

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

    چه بسيار انسان ها ديدم تنشان لباس نبود؛و چه بسيار لباس ها ديدم که انساني درونش نبود ...!
نمایش نتایج: از 1 به 2 از 2

موضوعات مشابه

  1. بازم مشکل در کامپایل interrupt keil
    توسط hfhossein در انجمن NXP
    پاسخ: 4
    آخرين نوشته: 2016/01/29, 05:53
  2. مشکل جدی با CODE VISION
    توسط h.torabi در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2015/03/27, 22:49
  3. منظور از #pragma used- چيه ؟
    توسط ajapyy در انجمن C , C++ , C#
    پاسخ: 1
    آخرين نوشته: 2014/11/18, 12:38
  4. مشکل با interrupt
    توسط magyd در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2013/05/05, 17:30
  5. uart interrupt مشکل
    توسط m410 در انجمن NXP
    پاسخ: 3
    آخرين نوشته: 2013/03/18, 21:41

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •