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





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









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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    2007/04/05
    967
    3
    gbg

    مشکل در خواندن پايه

    سلام
    يه مشکل جلب دارم

    پول پ پايه رو غير فعال کرد
    اينقدر منتظر مي مونم تا پايه يک بشه با اين دستور ميخونم (يعني PDSR رو مي خونم) وقتي يک شد بيت مورد نظرم (تو برنامم بيت سوم هست) دوباره ريجيستر رو مي خونم با اينکه ولتاژ پايه 3 هست ولي بيت مورد نظرم صفر هستش (همون بيت سوم) بين دو تا خوندن هم سه ثانيه فاصله هستش
  2. #2
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : مشکل در خواندن پايه

    نقل قول نوشته اصلی توسط gbg
    سلام
    يه مشکل جلب دارم

    پول پ پايه رو غير فعال کرد
    اينقدر منتظر مي مونم تا پايه يک بشه با اين دستور ميخونم (يعني PDSR رو مي خونم) وقتي يک شد بيت مورد نظرم (تو برنامم بيت سوم هست) دوباره ريجيستر رو مي خونم با اينکه ولتاژ پايه 3 هست ولي بيت مورد نظرم صفر هستش (همون بيت سوم) بين دو تا خوندن هم سه ثانيه فاصله هستش
    سلام
    واحد PIO یک کلاک داره که باید فعال بشه
    البته برای کنترل خروجی ها نیازی به فعال کردنش نیست ولی برای خوندن ورودی ها حتما باید فعال بشه وگرنه ورودی ها رو نمیخونه
    برای این کار باید کلاک واحد PIO رو از قسمت PMC فعال کنی
    اگر هدر lib_AT91SAM7X256.h رو به برنامت اضافه کنی میتونی از دستور زیر برا فعال کردنش استفاده کنی
    کد:
    AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOA);
    این دستور کلاک واحد PIO برای پورت A رو فعال میکنه
    برای پورت B هم به صورت مشابه هست
    برای خوندن ورودی هم باید PDSR رو بخونی
    موفق باشی
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  3. #3
    2007/04/05
    967
    3
    gbg

    پاسخ : مشکل در خواندن پايه

    اينو نوشتم
    AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOB);
    من از کتابخانه استفاده نکردم

    پورت B رو با رجيستر PMC_PCER فعال کردم
  4. #4
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : مشکل در خواندن پايه

    نقل قول نوشته اصلی توسط gbg
    اينو نوشتم
    AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOB);
    من از کتابخانه استفاده نکردم

    پورت B رو با رجيستر PMC_PCER فعال کردم
    برای تنظیم کردن یه پایه به عنوان خروجی باید از کد زیر استفاده کنی
    کد:
    AT91C_BASE_PIOB->PIO_ODR = AT91C_PIO_PB0; 
    AT91C_BASE_PIOB->PIO_PER = AT91C_PIO_PB0;
    این کد برای پایه 0 از پورت B نوشته شده
    هر دوتا خط رو نوشتی یا نه فقط یکیشو نوشتی؟
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  5. #5
    2007/04/05
    967
    3
    gbg

    پاسخ : مشکل در خواندن پايه

    آره نوشتم فقط ترتيبش فرق داره اول رجيستر PIO_PER رو مقدار دادم بعد PIO_ODR که فکر نکنم تاثير داشته باشه
  6. #6
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : مشکل در خواندن پايه

    نقل قول نوشته اصلی توسط gbg
    آره نوشتم فقط ترتيبش فرق داره اول رجيستر PIO_PER رو مقدار دادم بعد PIO_ODR که فکر نکنم تاثير داشته باشه
    میشه برنامتون رو کامل بزارید . دوباره بگید مشکلش چیه
    شاید بهتر بشه بررسیش کرد
    من الان مشکلی نمیبینم ولی شاید یه ریزه کاری باشه
    اگه برنامه رو کامل بدید شاید بشه یه کاریش کرد
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  7. #7
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : مشکل در خواندن پايه

    میشه یکم درباره کدت توضیح بدی
    میخاستم تحلیلش کنم دیدم بس کار مشکلیه :smile:
    یکم توضیح بده قراره چه کار کنه تا دوباره روش کار کنم
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  8. #8
    2007/04/05
    967
    3
    gbg

    پاسخ : مشکل در خواندن پايه

    خواستم بگم مشکله درکش ...
    ولي مهم اينه که ببيني تعريف ورودي رو درست انحام دادم و وقتي ميخونم بار دوم صفر ميخونه در صورتي که پايه هنوز به 2.8 ولت برق خروجي از ترانزيستور وصل هستش؟!
  9. #9
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : مشکل در خواندن پايه

    سلام
    من اینو توی خود کیل دیباگ کردم (رو برد تست نکردما) و فهمیدم یه تابع توی کیل نوشتی به نام ReadKey این تابع باید به صورت زیر بشه البته منم فک میکردم همونی که شما نوشتی درسته ولی نمیدونم چرا اونجوری کار نمیکنه :sad:
    کد:
    if(((pKey->PIO_PDSR & KeyIn)== 0x10))
    در واقع چون پول پ رو فعال کردی باید برنامه شما درست باشه ولی مثله این که نیست و باید برنامه رو تغییرش بدی
    تغییرش بده تا بازم اگه نشد برسیش کنیم
    برنامه رو کامل دیباگ کردم همین یه مشکل رو داشت
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  10. #10
    2007/04/05
    967
    3
    gbg

    پاسخ : مشکل در خواندن پايه

    اين تيکه درست کار ميکنه
    پول پ داخلي هستش و وقتي فشرده ميشه صفر ميشه ، موقع شبيه سازي با کيل ، پول پ رو تشخيص نميده و خودت بايد يک کني رجيستر رو
    فکر کنم باگ کيل هستش

    مشکل من اينجا اتفاق ميوفته :

    کد:
    R=pKey->PIO_PDSR&LOCKSTATUS;
    تو while اصلي تابع main
    پايه يک هستش وبار اول يک ميخونه k=2 قرار ميده و بعدش ميره دوباره R رو مقدار دهي ميکنه ولي بون اينکه تغييري در پايه ايجاد شده باشه پايه رو صفر ميخونه!
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

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

  1. پاسخ: 7
    آخرين نوشته: 2015/05/06, 23:35
  2. مشكل در مورد خواندن پايه در AVR
    توسط mostafa6369 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2014/11/22, 17:55
  3. مشکل عوض شدن پايه ها
    توسط arvin2009 در انجمن نرم افزار Eagle
    پاسخ: 2
    آخرين نوشته: 2014/10/03, 11:20
  4. مشکل با خواندن پايه هاي ميکرو
    توسط hemati01 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2011/02/04, 09:24
  5. شبيه سازي پايه rxd و txd روي پايه هاي ديگر ميكرو
    توسط tictactoe در انجمن میکروکنترلرهای AVR
    پاسخ: 20
    آخرين نوشته: 2010/10/06, 10:12

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

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

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

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

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