اطلاعیه

Collapse
No announcement yet.

تفاوت دو برنامه Pio

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

    تفاوت دو برنامه Pio

    سلام دوستان
    توی دستورات PIO در نرم افزار KEIL به دو صورت می توان از PIO استفاده کرد .

    A-
    کد:
    #include <AT91SAM7X256.h>
    
    void delay(void){
    	unsigned int i;
    	for(i=0;i<1000000;i++);
    }
    
    int main(){
    	
    		*AT91C_PIOA_PER = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		*AT91C_PIOA_OER = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		
    		*AT91C_PIOB_PER = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		*AT91C_PIOB_OER = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    	
    	while(1){
    		*AT91C_PIOA_SODR = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		*AT91C_PIOB_CODR = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		
    		delay();
    		
    		*AT91C_PIOA_CODR = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		*AT91C_PIOB_SODR = (1<<19)|(1<<20)|(1<<21)|(1<<22);
    		
    		delay();
    		
    	}
    }
    و در مدل دیگر
    استفده از دستورات

    B-

    کد:
    #include <AT91SAM7X256.H>
    #include <lib_AT91SAM7X256.h>
    #include <delay.h>
    int main (void) {
    AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19);
    while(1){
    AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19);
    delay_s(1);
    AT91F_PIO_setOutput (AT91C_BASE_PIOB, AT91C_PIO_PB19);
    delay_s(1);
    }
    }
    در برنامه A از کتابخانه خاصی استفاده نشده ولی در برنامه B از کتابخانه LIB استفاده شده . حالا سوال اینجاست که ایا دستورات برنامه A استاندارد تر هستند نسبت به برنامه B . چون دستورات برنامه A همانند دستوراتی است که در IAR هم استفاده می شود .
    با تشکر
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    #2
    پاسخ : تفاوت دو برنامه Pio

    سلام
    هیچ فرقی نداره
    اولی از رجیسترا استفاده کرده
    دومی همون برنامه یک رو تبدیل به تابع کرده و شما داری فقط از تغییر شکل یافتش استفاده میکنی.
    روش رجیستر سختتره و ولی پایه ای تر
    روش تابع راحت تره و کاربر پسند تر
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

    دیدگاه

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