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

موضوع: مشکل با پول اپ gpio

  1. #1
    کاربر فعال
    تاریخ عضویت
    Jan 2013
    نام
    عربعامری
    نوشته ها
    148
    تشکر
    25
    تشکر شده 92 بار در 60 پست

    پیش فرض مشکل با پول اپ gpio

    سلام.
    یک مشکل دارم من سه تا پایه 1768 رو به صورت ورودی برای کلید استفاده کردم.مشکل اینجاست وقتی کلید رو فشار میدم پایه صفر میشه که درسته و میشه شناسایش کرد ولی وقتی کلید رو رها میکنم پایه یک نمیشه.یعنی پول اپ نداره که پین رو بالا نگه داره.با این که پیش فرض میکرو پول اپ فعال هست.کسی میتونه کمک کنه؟خیلی وقتم رو گرفته.این دستور کار نمیکنه
    کد:
    #define Q4 LPC_GPIO2->FIOPIN & (1<<11)
    #define Q2 LPC_GPIO2->FIOPIN & (1<<12)
    #define Q1 LPC_GPIO2->FIOPIN & (1<<13)
    کد:
    if (((Q1) == 0) &&( (Q2) == 1) && ((Q4) == 1)){ 

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

  3. #2
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    sسلام
    نمی شه که اینطوری چطوری برای بار دوم که شما کلید را می زنید چطور میکرو می فهمه دوباره پایه صفر شده!؟

  4. #3
    کاربر فعال
    تاریخ عضویت
    Jan 2013
    نام
    عربعامری
    نوشته ها
    148
    تشکر
    25
    تشکر شده 92 بار در 60 پست

    پیش فرض

    چرا نشه.توی avr کلید رو اینجوری تعریف میکردیم که پایه یک هست وقتی کلید فشار داده میشه پین صفر می شد.
    ولی تو این میکرو پایه در حالت معمول هیچ مقداری نداره که این خیلی بد هست.پس این پول اپ تو مدار چیکار میکنه؟
    ویرایش توسط arvin2009 : 18-11-2013 در ساعت 00:02

  5. #4
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

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

  6. #5
    کاربر فعال
    تاریخ عضویت
    Jan 2013
    نام
    عربعامری
    نوشته ها
    148
    تشکر
    25
    تشکر شده 92 بار در 60 پست

    پیش فرض

    اینا رو میدونم ولی مدار اینجوری عمل نمیکنه.میتونید یک برنامه ساده بنویسید و با دیباگر تست کنید.پایه یک نیست و فقط صفر بازدن کلید صفر میشه.میشه امتحان کنید
    این کد مشکلش چیه که جواب نمیده
    کد:
    if (((Q1) == 0) &&( (Q2) == 1) && ((Q4) == 1)){
    ولی این جواب میده
    کد:
    if (((Q1) == 0) &&( (Q2) == 0) && ((Q4) == 0)){

  7. #6
    کاربر فعال
    تاریخ عضویت
    Jan 2013
    نام
    عربعامری
    نوشته ها
    148
    تشکر
    25
    تشکر شده 92 بار در 60 پست

    پیش فرض

    اقا بیا اینم یک برنامه ساده حاکی از عمل نکردن پول اپ داخلی.یعنی سر کارمون گذاشتن و این اپشن روی چیپ نیست.
    کد:
    #include <lpc17xx.h>
     
    int main(){
     SystemInit();
     LPC_GPIO2->FIODIR = 0x000000ff;
     LPC_GPIO2->FIOMASK = 0x00000000;
     while(1){
         if((LPC_GPIO2->FIOPIN & (1<<10)) == 0)   LPC_GPIO2->FIOPIN = 0x81;
       else if((LPC_GPIO2->FIOPIN & (1<<11)) == 0)   LPC_GPIO2->FIOPIN = 0x42;
      else if ((LPC_GPIO2->FIOPIN & (1<<10)) == 1)  LPC_GPIO2->FIOPIN = 0x03;
      else if ((LPC_GPIO2->FIOPIN & (1<<11)) == 1)  LPC_GPIO2->FIOPIN = 0x01;
     
     
     
      }
    }
    ویرایش توسط arvin2009 : 18-11-2013 در ساعت 02:46

  8. #7
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    نقل قول نوشته اصلی توسط arvin2009 نمایش پست ها
    اینا رو میدونم ولی مدار اینجوری عمل نمیکنه.میتونید یک برنامه ساده بنویسید و با دیباگر تست کنید.پایه یک نیست و فقط صفر بازدن کلید صفر میشه.میشه امتحان کنید
    این کد مشکلش چیه که جواب نمیده
    کد:
    if (((q1) == 0) &&( (q2) == 1) && ((q4) == 1)){
    ولی این جواب میده
    کد:
    if (((q1) == 0) &&( (q2) == 0) && ((q4) == 0)){

    واضح است چرا این کد جواب نمی دهد، چون مساوی 1 قرارش دادی. باید مساوی مثلا 11>>1 قرارش بدهی و به همین ترتیب برای سایر کلیدها.
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

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


  10. #8
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    بله همان طور که آقای آقایی فر فرمودند شما بیت 11 را ماسک کردید و باید با بیت 11 مقایسه کنید نه 1. بنابراین مورد از برنامه نویسی شما بوده و گرنه این مورد حتما برای ما پیش میومد
    نقل قول نوشته اصلی توسط arvin2009 نمایش پست ها
    اقا بیا اینم یک برنامه ساده حاکی از عمل نکردن پول اپ داخلی.یعنی سر کارمون گذاشتن و این اپشن روی چیپ نیست.
    البته حق کمپانی برای شکایت از شما به دلیل ... کاملا محفوظه !

  11. #9
    کاربر فعال
    تاریخ عضویت
    Jan 2013
    نام
    عربعامری
    نوشته ها
    148
    تشکر
    25
    تشکر شده 92 بار در 60 پست

    پیش فرض

    سلام.مرسی از همکاریتون.مشکل این بود.مساوی یک بودن اشکال ندارد.
    کد:
    int main(){
    LPC_GPIO2->FIODIR = 0x000000ff;
    while(1){
    if (((LPC_GPIO2->FIOPIN>>10)&1) == 0) LPC_GPIO2->FIOPIN = 0x81;
    if (((LPC_GPIO2->FIOPIN>>11)&1) == 0) LPC_GPIO2->FIOPIN = 0x42;
    if (((LPC_GPIO2->FIOPIN>>10)&1) == 1) LPC_GPIO2->FIOPIN = 0x03;
    if (((LPC_GPIO2->FIOPIN>>11)&1) == 1) LPC_GPIO2->FIOPIN = 0x01;
     
    }}
    اره اقا مهدی فیلیپس شانس اورد .اهان پس من شانس بیارم.چون من دیشب پاین پست نوشتم میخوام برام از دست فلیپس شکایت کنم.
    ویرایش توسط arvin2009 : 18-11-2013 در ساعت 11:20

  12. #10
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    نقل قول نوشته اصلی توسط arvin2009 نمایش پست ها
    سلام.مرسی از همکاریتون.مشکل این بود.مساوی یک بودن اشکال ندارد.
    کد:
    int main(){
    lpc_gpio2->fiodir = 0x000000ff;
    while(1){
    if (((lpc_gpio2->fiopin>>10)&1) == 0) lpc_gpio2->fiopin = 0x81;
    if (((lpc_gpio2->fiopin>>11)&1) == 0) lpc_gpio2->fiopin = 0x42;
    if (((lpc_gpio2->fiopin>>10)&1) == 1) lpc_gpio2->fiopin = 0x03;
    if (((lpc_gpio2->fiopin>>11)&1) == 1) lpc_gpio2->fiopin = 0x01;
     
    }}
    اره اقا مهدی فیلیپس شانس اورد .اهان پس من شانس بیارم.چون من دیشب پاین پست نوشتم میخوام برام از دست فلیپس شکایت کنم.
    شما کد برنامه رو تغییر دادید تا با =1 جواب دهد وگرنه همانطور که عرض شد در برنامه ی قبلی مشکل از =1 بودن است که با شیف دادن 1 درست می شود (یا برعکس، مقدار رجیستر را شیفت بدهید همین کار که کردید)
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

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


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

  1. مشکل در پول آپ در سری lpc21xx
    توسط bascom2 در انجمن LPC series (NXP)
    پاسخ: 3
    آخرين نوشته: 18-06-2014, 17:11
  2. [سوال] آیا پول آپ پایه میکرو جریان میکشد؟!
    توسط sobhan537 در انجمن AVR
    پاسخ: 7
    آخرين نوشته: 09-11-2013, 11:15
  3. کتابخانه های پولی بیسکام
    توسط sarutobi در انجمن AVR
    پاسخ: 12
    آخرين نوشته: 23-06-2012, 19:18
  4. راهنمایی در مورد ارتباط بافر،مقاومت پول اپ و امپدانس
    توسط Black-Black در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 5
    آخرين نوشته: 27-02-2012, 23:24

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

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