NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 5139 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 3 از 3

موضوع: مشکل برنامه نویسی اینتراپت

  1. #1
    عضو جدید
    تاریخ عضویت
    Feb 2010
    نوشته ها
    16
    تشکر
    1
    تشکر شده 10 بار در 6 پست

    Icon16 مشکل برنامه نویسی اینتراپت

    عرض سلام و ادب خوبید همگی
    آقا من این کدو نوشتم واسه راه اندازی اینتراپت تایمر نوشتم ولی کار نمیکنه مشکل چیه؟؟؟
    #include<AT91SAM7X256.H>
    #include<delay.h>

    __irq void T0_handler(void)
    //* Begin
    {
    if ( (*AT91C_PIOB_ODSR&0x00080000)==0x00000000)
    *AT91C_PIOB_ODSR=0x00080000; /*turn on LED*/
    else *AT91C_PIOB_ODSR=0x00000000;/*turn off LED*/

    *AT91C_AIC_ICCR = (1 << AT91C_ID_TC0);
    *AT91C_AIC_EOICR = *AT91C_TC0_SR; /*Interrupt Ack*/
    }
    //* End

    void main ( void )
    //* Begin
    {

    *AT91C_CKGR_MOR=0x00000701; //enable processor & programmable clocks
    while(AT91C_PMC_MOSCS==0);

    *AT91C_CKGR_PLLR=0x00040801; // Mul=4+1 Div=1
    while(AT91C_PMC_LOCK==0);

    *AT91C_PMC_MCKR=0x00000004;
    while(AT91C_PMC_MCKRDY==0);
    *AT91C_PMC_MCKR=0x00000007; // select (PLL clk)/2
    while(AT91C_PMC_MCKRDY==0);

    *AT91C_PMC_PCER=0xC0001008; //Enable peripherals Ports & Timer0


    *AT91C_PIOB_PER = 0x00080000 ; /* Enable the PIO/LED8 pin */
    *AT91C_PIOB_OER = 0x00080000; /* Enable the PIO/LED8 pin as Output */
    *AT91C_PIOB_CODR = 0x00080000;/* turn off LED */
    *AT91C_PIOB_OWER = 0x00080000;/* Enable output write */


    AT91C_AIC_SVR[12] = (unsigned int) T0_handler; /* Set the TC1 IRQ handler address */
    AT91C_AIC_SMR[12] = 0x00000000; /* Set the trigg and priority for TC1 interrupt */
    *AT91C_AIC_ICCR = (1<<12) ; /* Clear the TC1 interrupt */
    *AT91C_AIC_IECR = (1<<12) ; /* Enable the TC1 interrupt */

    *AT91C_TC0_CCR = 0x00000002; /* Disable the Clock Counter */
    *AT91C_TC0_CMR = 0x00000004; /* Set the TIMER_CLOCK5 */
    *AT91C_TC0_CCR = 0x00000001; /* Enable the Clock counter */
    *AT91C_TC0_CCR = 0x00000004; /* Trigger timer */
    *AT91C_TC0_IER = 0x00000001; /* Enable timer overflow interrupt */



    while (1) {

    }
    }//*End

    ضمنا تایمر به درستی داره کار میکنه , پرچم overflow اون هم همینطور , روتین اینتراپتو اگه به صورت یه تابع call کنم بازم کار میکنه (همشونو چک کردم) ولی خودش توی روتین اینتراپت نمیره که نمیره
    من واقعا دیگه عقلم به جایی قد نمیده
    ممنون

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر علاقه مند Ali_Salehi آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    26
    تشکر
    6
    تشکر شده 7 بار در 3 پست

    پیش فرض

    سلام.. منه م هر کار کردم نتونستم اسنتراپت رو توی keil راه بندازم.. فکر میکنم مشکل از کامپایلر باشه...اما توی IAR همه ی sample های اینتراپتی atmel درست کار میکنه.!!!

  4. #3
    عضو جدید
    تاریخ عضویت
    Feb 2010
    نوشته ها
    16
    تشکر
    1
    تشکر شده 10 بار در 6 پست

    پیش فرض

    کشفیدمممممممممممممممممممم ممممممممممممممممممممممممم
    همه چی آرومه من چقد خوشحالممممممممممممممممممم ممممممممم
    آقا داستان اینه : مشکل این بوده که فایل start up درست لینک نمیشده به برنامه اصلی و واسه اصلاح این کار برید تو keil بعدش روی پروژه راست کلیک کنید و option را انتخاب کنید و بعد در تب linker تیک use memory layout from target dialog را فعال نمایید. به همین سادگی
    مخلص همگی

  5. تشکرها از این نوشته :


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

  1. بسکام + تایمر + اینتراپت !!!
    توسط farzadsw در انجمن AVR
    پاسخ: 14
    آخرين نوشته: 03-09-2017, 13:48
  2. یک مثال تایمر با اینتراپت
    توسط jonbakhsh در انجمن LPC series (NXP)
    پاسخ: 3
    آخرين نوشته: 23-01-2013, 16:27
  3. پاسخ: 0
    آخرين نوشته: 25-08-2012, 12:47
  4. اینتراپت مقوله ای فراموش شده . . .
    توسط vasa در انجمن AT91 series (ATMEL)
    پاسخ: 2
    آخرين نوشته: 01-04-2010, 03:13
  5. پاسخ: 2
    آخرين نوشته: 20-03-2010, 12:31

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

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