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

موضوع: یک کد

  1. #1
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    Icon16 یک کد

    با سلام
    بنده در ARM مبتدی هستم ،لطفا علت روشن نماندن LED رو در کد زیر توضیح دهید
    کد:
    #include <AT91SAM7X256.H>
    #include <lib_at91sam7x256.h>
    int main(void)
    {
      AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC,1<<AT91C_ID_PIOA);
      AT91F_PIO_CfgPullup(AT91C_BASE_PIOA,0x10000000);
      AT91F_PIO_CfgInput(AT91C_BASE_PIOA,0x10000000); 
    
      AT91F_PIO_CfgOutput(AT91C_BASE_PIOB,0x80000);
      AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,0x80000);
    
      while(1)
      {
        if(AT91F_PIO_GetInput(AT91C_BASE_PIOA) & 0x10000000==0){
           AT91F_PIO_SetOutput(AT91C_BASE_PIOB,0x80000);
          }
       }
    }
    هر بار که کلید رو فشار میدم LED روشن میشه ولی دوباره خاموش میشه در حالی که در if فقط پایه رو set میکنه و جایی Clear نمیشه.ممنون
    ویرایش توسط riyahiyan : 28-03-2012 در ساعت 09:57

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

  3. #2
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    توضیح اینکه این کد در میکرو برد eke2sam7x v3.0 پروگرم شده

  4. #3
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    بعد از اینکه کلید رو رها میکنین خاموش میشه یعنی همون شرط حلقه مشکل داره. به جای & در شرط از && استفاده کنید شاید درست بشه
    البته در برنامه جایی کلیر نمیشه. به جای بیلد از ریبیلد استفاده کنید

  5. #4
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    ممنون
    مشکل دو تا بود
    1-کلید برد مشکل داشت
    2-شرط if به یک پرانتز دیگه نیاز داشت
    کد:
     if((AT91F_PIO_GetInput(AT91C_BASE_PIOA) & 0x10000000==0))

  6. #5
    عضو جدید
    تاریخ عضویت
    Nov 2009
    نوشته ها
    18
    تشکر
    5
    تشکر شده 3 بار در 3 پست

    پیش فرض

    سلام من هر کاری می کنم این برد EKE2SAM7X v3.0 تو حالت SAM-BA نمی ره کسی می تونه کمک کنه

  7. #6
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    12
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    توی ویندوز xp تست کنید جواب میده.

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

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