اطلاعیه

Collapse
No announcement yet.

فعال نشدن اینتراپت GPIO

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

    فعال نشدن اینتراپت GPIO

    برنامه زیر را ببینید
    کد:
    #include <LPC17xx.H>
    
    void delay()
    {
        int i,j;
        for(i=0;i<2000;i++)
            for(j=0;j<5000;j++);
    }
    
    void EINT3_IRQHandler()
    {
        LPC_GPIO0->FIOSET=(1<<23);
        LPC_GPIOINT->IO0IntClr = (1<<17);
        delay();
    
    }    
    
    
    int main()
    {
    LPC_GPIO0->FIODIR=(1<<23);
    LPC_GPIO0->FIODIR=(1<<21);
    LPC_GPIOINT->IO0IntEnF = 1<<17;
    NVIC_EnableIRQ(EINT3_IRQn);
        
    LPC_GPIO0->FIOSET=(1<<21);
            while(1){
            
        }
        }
    مفهوم برنامه این هست که با فعال شدن اینتراپت پین 17 پورت صفر پایه 23 پورت صفر را فعال کنه ، اما متاسفانه کار نمی کنهههههههه!!!!!!
    حسرت PCB

    #2
    پاسخ : فعال نشدن اینتراپت GPIO

    مشکل سخت افزاری در مرحله قبل داشتم که حل شد.
    حال چرا برنامه زیر کار نمی کنه؟( ال ای دی نه روشن می شود نه خاموش)

    کد:
    #include <LPC17xx.H>
    
    void delay()
    {
        int i,j;
        for(i=0;i<2000;i++)
            for(j=0;j<5000;j++);
    }
    
    void EINT3_IRQHandler() 
    {
            
        if(LPC_GPIO0->FIOSET & (1<<22)){
            LPC_GPIO0->FIOCLR |=(1<<22);
        }
        else
        {
            LPC_GPIO0->FIOSET |=(1<<22);
        }
        LPC_GPIOINT->IO0IntClr |= (1 << 17);
    
    }    
    
    
    int main()
    {
    LPC_GPIO0->FIODIR=0x00;
    LPC_GPIO0->FIODIR |=(1<<22);
    LPC_GPIO0->FIODIR |=(1<<21);
    LPC_GPIOINT->IO0IntEnF = 1<<17;
    NVIC_EnableIRQ(EINT3_IRQn);
    LPC_GPIO0->FIOSET=(1<<21);
            while(1){
            
        }
            
        }
    حسرت PCB

    دیدگاه

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