اطلاعیه

Collapse
No announcement yet.

کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

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

    کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

    سلام
    من یه LED دارم و یه باتن میخوام با این باتن LED رو روشن خاموش کنم - LED به P0.0 وصله و BUTTON به P0.1 وصله - روی باتن وقفه GPIO رو هم فعال کردم ولی پروژه کار نمیکنه - مشکل کجاس؟ من فقط کد زیر رو کامپایل کردم و از طریق بوت لودر ریختم رو میکرو فقط همین و کار دیگه ای نکردم.
    ================================================== =
    البته دستور روشن خاموش شدن LED داخل همین پروژه قرار دادم کار کرد ولی اون وقفه GPIO کار نکرد - و از هدربرد ECA استفاده میکنم و از بوت لودر

    کد:
    [FONT=Yekan]#include <lpc17xx.h>[/FONT]
    
    int State = 0;
    
    
    void EINT3_IRQHandler() {
        
        LPC_GPIOINT -> IO0IntClr = 2;
        
        if(State)    State = 0;
        else        State = 1;
    }
    
    
    int main()
    {
        // GPIO
        LPC_PINCON -> PINSEL0 = 0x00000000;
        LPC_GPIO0  -> FIODIR  = 0x0001;
        
        LPC_GPIOINT -> IO0IntClr = 2;
        LPC_GPIOINT -> IO0IntEnR = 2;
        NVIC_EnableIRQ(EINT3_IRQn);
        
        while(1){    
            if(State == 0)    LPC_GPIO0->FIOSET = 0x0001;
            else            LPC_GPIO0->FIOCLR = 0x0001;
        }
    [FONT=Yekan]}[/FONT]
    جدیدترین ویرایش توسط md3848; ۰۶:۱۵ ۱۳۹۵/۰۶/۰۶.
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

    برنامه اشکال داره ،هبهتره اینجوری بنویسی:

    کد:
    char state;
    
    void EINT3_IRQHandler() {
        
        LPC_GPIOINT -> IO0IntClr = 2;
        
       state=~state;
    }
    
    
    int main()
    {
        // GPIO
        LPC_PINCON -> PINSEL0 = 0x00000000;
        LPC_GPIO0  -> FIODIR  = 0x0001;
        
        LPC_GPIOINT -> IO0IntClr = 2;
        LPC_GPIOINT -> IO0IntEnR = 2;
        NVIC_EnableIRQ(EINT3_IRQn);
        
        while(1){    
            if(State == 0)    LPC_GPIO0->FIOSET = 0x0001;
            else            LPC_GPIO0->FIOCLR = 0x0001;
        }
    }
    [/QUOTE]

    دیدگاه


      #3
      پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

      خب خدا رو شکر یکی پیدا شد بلاخره جواب ما رو داد - ممنون از شما داش - والا بازم تست کردم جوابی نداد - به نظرم باید تو کیل برم جایی چیزی رو تنظیم کنم - چون همون طور که گفتم من فقط کدپروژه رو نوشتم و جایی چیزی رو تغییر ندادم - و در ضمن فایل bin رو هم خود نرم افزار keil تولید میکنه - ممکنه مشکل از کیل باشه که فایل bin رو درست تولید نمیکنه؟ راستی نیاز نیست برم جایی فرکانس مرکانس تنظیم کنم؟ در ضمن شماتیک مدار من اینه که به p0.0 یه lcd وصل کردن (پایه + رو وصل کردم) و به p0.1 یه دکمه وصل کردم که دکمه رو هم پول دان کردم.

      کسی چیزی به فکرش نمیرسه؟ بالا آرم که دیگه باید افراد زیادی باهاش کار کردن پس چرا این انجمن سوت کوره؟ نکنه ملت میرن آرم سری stm یا اتمل رو یاد میگیرن؟
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

        سلام .
        برنامه رو توی keil شبیه سازی کردم، مشکلی نداره پیشنهاد من اینکه شماتیک مدار تو چک کن بین پایه ها رو درست انتخاب کردین آخه من برد ورژن C دارم و این پایه ها به ال ای دی و کلید ها وصل نشده!!!

        دیدگاه


          #5
          پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

          ممنون از شما
          خب من از هدر برد ECA استفاده میکنم که در زیر شمایی ازش رو مشاهده میکنید
          LED به P0.0 وصله و BUTTON به P0.1 وصله - باتن رو هم پول دان کردم(در حالت عادی مقدار پایه P0.1 برابر 0 ولته و وقتی کلید زده بشه مقدارش میشه 3.3 ولت)
          الان به نظر شما اشتباهی رخ داده؟ شما از بوت لودر استفاده میکنید یا J-LINK ???
          شبیه ساز کیل جالبه؟ یا ی چیز ساده و سمبلیک هستش؟
          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

          اگه دوس دارید سریع به جواب برسید :
          1) قبل از پرسیدن سوال، بسرچید.
          2) سوالاتون رو با جزئیات کامل مطرح کنید.

          دیدگاه


            #6
            پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

            سلام.
            من از پروگرامر j-link استفاده می کنم.
            شاید شما پاور gpio فعال نکردید؟برای بررسی اون می تونی از برنامه به فایل system_lpc17xx در قسمت Power Control for Peripherals Register ،اگر تیک پاورgpio زده نشده اونو فعال کنید.
            جدیدترین ویرایش توسط MM320; ۱۹:۳۷ ۱۳۹۵/۰۶/۱۰.

            دیدگاه


              #7
              پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

              پیشنهاد من اینکه اگر تازه کارید از کتاب زیر استفاده کن .
              در این کتاب از دستورات کتابخاخه یا cmsis استفاده می کنه استفاده از اون هم آسونه و در گیری اون نسبت به کار با رجیستر ها خیلی کمتره

              دیدگاه


                #8
                پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

                اون گزینه به صورت خودکار فعال بود.
                چون تو lpc1768 اون طوری که خوندم وقفه gpio با وقفه خارجی 3 مشترک هستش - برا فعال کردن وقفه gpio باید وقفه خارجی 3رو فعال کرد - حالا این وقفه خارجی3 مثل این چیزی که گفتی گزینه ای نداره برم تیکش رو بزنم و فعالش کنم/.؟ کشتم ولی چیزی به نام int به چشم نخوره

                کلا من هر چیزی رو میخوام شروع کنم اولش دهنم ... میشه
                سر اون آردوینو هم اولین بردم خراب در اومد - درایورش نصب نمیشد - پدرم هم سر اون در اومد - این گیر اول کار رد بشه با سرعت 300 تا گازش رو میگیرم و میرم

                راستی این کتابی که معرفی کردی برد های mbed سری آرم رو آموزش میده؟
                جدیدترین ویرایش توسط md3848; ۲۱:۴۷ ۱۳۹۵/۰۶/۱۰.
                اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                اگه دوس دارید سریع به جواب برسید :
                1) قبل از پرسیدن سوال، بسرچید.
                2) سوالاتون رو با جزئیات کامل مطرح کنید.

                دیدگاه


                  #9
                  پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

                  اینم سر فصل کتاب:
                  ttp://www.uplooder.net/files/9fe5c2d252cd4f940c9ffc52db31a651/SahandSajadi.pdf.html
                  و اینم لینک دانلود برنامه خود شما که توسط کیل 5.17 ایجادشده لطفا امتحانش کن ببین کار می کنه ، خودم به صورت عملی چکش نکردم

                  دیدگاه


                    #10
                    پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

                    آقا پروگرامر j-link هم به دستم رسید و باهاش پروگرام کردم ولی باز این وقفه هه کار نمیکنه - بیا این پروژه رو دانلود کن ببین مشکلی نداره - جان داش الان دیگه دارم میشم


                    ولی اون پروژه شما که لطف کردی و گزاشی کار کرد در حالی که فرقی با پروژه من نداره، پس چرا پروژه ای که لینکش رو در بالا گزاشتی تست کردم جواب داد ولی برا خودم نه

                    تمام قسمت های option for target رو تو هر دو پروژه بررسی کردم باهم، غیر از اسم پروژه که برا شما 1 بود و برا من 2 بود هیچ فرق دیگه ای نبود.

                    ============================

                    خب نه مثل این که دو تا فرق دیگه هم داره
                    تو اون فایل system_LPC17xx.c یه دو تا فرق اثاثی! دیگه هم پیدا کردم.
                    تو دو مورد زیر برا من همه زیر مجموعه هاش Cclk انتخاب شده بود و برا شما Cclk/4 انتخاب شده بود همشون.
                    (Peripheral Clock Selection Register 0 (PCLKSEL0
                    (Peripheral Clock Selection Register 1 (PCLKSEL1

                    و مورد دیگه آخرین گزینه همین صفحه system_LPC17xx.c هم برا شما با برا من فرق داره(شکل زیر اون قرمز رنگه) که چراشم بگی ممنون میشم







                    اون 2-3 تا تفاوت بالا رو هم مثل پروژه شما اعمال کردم ولی باز پروژه من کار نمیکنه و برا شما کار میکنه چرااااااااااااااا؟
                    راستی با این که همه چیزو مثل تنظیمات پروژه شما کردم ولی باز اون گزینه Reserved برا من نمایش داده نشد چرا؟(تو شکل بالا اون قسمت قرمز رنگ گزینه Reserved )
                    جدیدترین ویرایش توسط md3848; ۱۴:۵۷ ۱۳۹۵/۰۶/۱۱.
                    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                    اگه دوس دارید سریع به جواب برسید :
                    1) قبل از پرسیدن سوال، بسرچید.
                    2) سوالاتون رو با جزئیات کامل مطرح کنید.

                    دیدگاه


                      #11
                      پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO
                      • سلام دوست عزیر.
                      • مشکلتو پیدا کردم

                      1. شما فایل اصلی با فرمت 2.cpp ذخیره کردید در صورتی که فایل برنامه باید 2.cباشه من دوباره فایل قبلی پاک کردم فایل جدید با فرمت 2.c رو به برنامه اضاف کردم و برنامه جواب داد.
                      2. اینم برنامه اصلاح شده شما:

                      دیدگاه


                        #12
                        پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

                        ممنون از شما - الان هم همونو تست کردم جواب داد ولی چراااااااا؟ رو C جواب میده ولی رو C++ نه؟؟؟؟؟؟؟؟؟ چراااااااااااااااااااااااااااا
                        اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                        اگه دوس دارید سریع به جواب برسید :
                        1) قبل از پرسیدن سوال، بسرچید.
                        2) سوالاتون رو با جزئیات کامل مطرح کنید.

                        دیدگاه


                          #13
                          پاسخ : کار نکردن پروژه روشن کردن LED به کمک BUTTON متصل به وقفه GPIO

                          نوشته اصلی توسط MM320 نمایش پست ها
                          • سلام دوست عزیر.
                          • مشکلتو پیدا کردم

                          1. شما فایل اصلی با فرمت 2.cpp ذخیره کردید در صورتی که فایل برنامه باید 2.cباشه من دوباره فایل قبلی پاک کردم فایل جدید با فرمت 2.c رو به برنامه اضاف کردم و برنامه جواب داد.
                          2. اینم برنامه اصلاح شده شما:

                          http://opload.ir/downloadf-976edc1290671-zip.html

                          مشکل اصلی نباید این باشه. مشکلی اصلی رو میشه از توی دیباگ پیدا کرد. ممکنه هر مشکلی باشه. مثلا یا کتابخونه بد نوشته شده یا...
                          نوشته اصلی توسط MM320
                          شما اگه به صورت حرفه می خوای lpc1768 کار کنید مجموعه فیلم آموزشی شرکت کویر هستش که هم آموزش c داده و هم آموزش میکرو
                          من خودم تهیه کردم و واقعا عالی

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


                          جدیدترین ویرایش توسط اشکان غفارزاده; ۲۲:۳۸ ۱۳۹۵/۰۶/۱۱.

                          دیدگاه

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