اطلاعیه

Collapse
No announcement yet.

چرا میکرو اینجوری میشه ؟

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

    #16
    پاسخ : چرا میکرو اینجوری میشه ؟

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

    دیدگاه


      #17
      پاسخ : چرا میکرو اینجوری میشه ؟

      شما تو لایبراری lcd دست بردین ؟ این کار اشتباهی هستش . مهمترین دلیلش که این کار رو ممکنه انجام داده باشین ، از بین بردن زمان های توقف lcd هستش . دقت کنید که lcd برای هر دستور نیازمند یک توقف هستش یا دستور رو اجرا کنه . اگه این زمان رو کم کنید ، lcd درست کار نمیکنه و در نتیجه پایه هاش دستور درستی رو به میکرو نمیده و میکرو قاط میزنه ! گفته بودین تو لایبراری ها دست بردین ، کدوم لایبراری ها ؟ زمانبندی ها رو درست انجام دادین ؟ کلاک رو درست تعریف کردین ؟
      if all men are the same
      then
      why do women take so long to choose one ?

      دیدگاه


        #18
        پاسخ : چرا میکرو اینجوری میشه ؟

        نه والاه
        من فقط چند تا define رو تغییر دادم مثل تعداد ستون ها رو یا حداکثر تعداد نقاط عمودی و افقی .
        دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

        دیدگاه


          #19
          پاسخ : چرا میکرو اینجوری میشه ؟

          یه ضرب میزنم تو گوشش !! اگه میتونی تمام پایه ها ، و اگه خیلی زوره (!) تمام پایه های کنترل رو با مقاومت 10 کیلو به مثبت وصل کن . اگه مقاومت شونه ای بزاری که خیلی راحته !این کار رو بکن بعد نتیجه رو بگو . در ضمن پایه های کنترل lcd رو نباید به پایه های آنالوگ میکرو وصل کنی . ( تنظیمات داره ! ) . این 2 تا کار رو بکن !
          if all men are the same
          then
          why do women take so long to choose one ?

          دیدگاه


            #20
            پاسخ : چرا میکرو اینجوری میشه ؟

            سلام آقا "محمدحسـین"
            من برنامتون رو چک کردم مشکلی رو از لحظا برنامه نویسی پیدا نکردم که دقیقا بگم مشکل از کجاست و چون زیاد با ccs کار نکردم نظر قطعی نمی تونم در مورد کتابخانه ها یا نحوه استفادشون بدم
            اما تنها نکته ای که در این باره به ذهنم می رسید این بود که اگر بعد از رجوع به تابعی و بازگشت از while خارج بشین به این معناست که پشته شما یا سرزیز شده و یا ترتیب آن دستکاری شده است اگر چنین مشکلی هست بهتر هست قبل از رفتن به تابع مکان خط کنونی رو در پشته و یک متغییر گلوبال بریزین و هنگام بازگشت باز مکان را توسط متغییر در پشته ریخته و return به آن کنین

            حالا شرمنده چون مطابق با کامپایلر من c18 نیست زیاد از این جهت فکر نکنم بتونم کمک بهتری کنم
            هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

            دیدگاه


              #21
              پاسخ : چرا میکرو اینجوری میشه ؟

              مشکل با پول پ ها حل نشد :sad: :angry:

              نوشته اصلی توسط baby_1
              اما تنها نکته ای که در این باره به ذهنم می رسید این بود که اگر بعد از رجوع به تابعی و بازگشت ،،،،،، از while خارج بشین به این معناست که پشته شما یا سرزیز شده و یا ترتیب آن دستکاری شده است اگر چنین مشکلی هست بهتر هست قبل از رفتن به تابع مکان خط کنونی رو در پشته و یک متغییر گلوبال بریزین و هنگام بازگشت باز مکان را توسط متغییر در پشته ریخته و return به آن کنین
              استاد من درست منظورتون رو نگرفتم ، اگر منظور اینه که داخل حلقه چیزی باشه باید خدمتتون بگم که میکرو نه تنها از شرط while1 عبور می کنه بلکه کلا از هر شرطی که بعدش باشه عبور می کنه. مشکل هم اینطور نیست که جای دیگه ای رو اجرا کنه بلکه درست خط های بعدی حلقه ها پشت سر هم اجرا می شه . :angry: :sad:

              انگار خدا نمی خواد ما کاری رو راجت انجام بدیم . :sad:
              می خوام برم و دیتاشیت ها و کتابخونه ها رو از اول بررسی کنم و آخر خودم برای خودم یه چیزی بنویسم ( اگه از اول این کار رو کرده بودم از این کمتر زمان می برد ) :angry:
              :read: :nerd:
              دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

              دیدگاه


                #22
                پاسخ : چرا میکرو اینجوری میشه ؟

                سلام

                من شاید بتوانم مشکل رو حل کنم

                اگر ممکنه تراشه مورد استفادتون رو بگین و اینکه وقتی برنامه رو کامپایل میکنید چند درصد از میکرو پر میشه
                نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
                تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

                دیدگاه


                  #23
                  پاسخ : چرا میکرو اینجوری میشه ؟

                  میتونی به جای while1 بزاری while not 1 بعدش ببین چه اتفاقی میوفته !
                  if all men are the same
                  then
                  why do women take so long to choose one ?

                  دیدگاه


                    #24
                    پاسخ : چرا میکرو اینجوری میشه ؟

                    نوشته اصلی توسط ramezani.t
                    سلام

                    من شاید بتوانم مشکل رو حل کنم

                    اگر ممکنه تراشه مورد استفادتون رو بگین و اینکه وقتی برنامه رو کامپایل میکنید چند درصد از میکرو پر میشه
                    سلام
                    pic16f877
                    34%ram
                    96%rom
                    دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                    دیدگاه


                      #25
                      پاسخ : چرا میکرو اینجوری میشه ؟

                      نوشته اصلی توسط محمدحسـین
                      سلام
                      pic16f877
                      34%ram
                      96%rom
                      بله

                      من با کامپایلر C18 کار میکنم اما شاید کامپایلر شما هم مثل کامپایلر من عمل میکنه.

                      مدتی پیش من به یک مشکل شبیه این برخورد کردم , برنامه ای که نوشته بودم هیچ مشکلی نداشت و بارها اون رو چک کردم اما درست کار نمیکرد , خیلی راحت متغیر ها اشتباه مقداردهی میشدن و مشکلاتی از این دست

                      پس از چند روز تحقیق متوجه شدم که درون تنظیمات ادیتور در Project Properties گزینه هایی برای تنظیم کردن کامپایلر هنگام آدرس دهی ram و rom میکرو وجود داره , متوجه شدم که اگر از بیش از 50 درصد rom استفاده میکنم باید این تنظیمات رو تغییر دهم وگرنه اطلاعات هنگام پروگرام میکرو بر روی هم ریخته شده و همه چیز به هم میریزه !!!!... بله با متوجه شدن این موضوع مشکل من به طور کلی حل شد

                      به تنظیمات کامپایلرتون دقت کنید , انشا الله مشکل حل میشه .
                      نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
                      تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

                      دیدگاه


                        #26
                        پاسخ : چرا میکرو اینجوری میشه ؟

                        سلام

                        منم قبلا احتمال دادم که شاید از کم آوردن RAM باشه اما مسلما با این حجم RAM مشکلی نباید پیش بیاد
                        در مورد حجم Rom ،آقای رمضانی در مورد مشکلتون و نحوه رفعش می شه بیشتر توضیح بدین؟ چون بارها اتفاق افتاده هست که حجم برنامه من به بیش از 50 درصد برسد و بدون مشکل کار کند
                        دقیقا مشکل شما به چه صورت خودش رو بروز می داد

                        ممنونم که مثل همیشه تجربیات و علمتون رو در اختیار دیگرون قرار می دین

                        آقای محمد حسین ، اگر بتونین برنامتون رو روی یک تراشه مثلا خانواده PIC18 یا تراشه ای شبیه به این مدل با حجم رم و رام بیشتر تست بگیرین شاید کمکی در رفع بهتر مشکل بشه
                        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                        دیدگاه


                          #27
                          پاسخ : چرا میکرو اینجوری میشه ؟

                          جناب رمضانی انگار مشکل از همون جایی هست که شما می فرمایید.
                          من وقتی پرسیدید که" چقدر از حافظه استفاده می کنی" رفتم و یه مقدار حجم اطلاعات رو کم کردم ( مثلا تصویری که باید 3840 بایت حافظه رو پر می کرد و بعد روی ال سی دی می رفت ، مقادیرش رو از بین بردم ) بعد دیدم که انگار درست شده .
                          البته هنوز کامل چک نکردم که ببینم دقیقا مشکل از همین زیادی پر شدن حافظه هست یا نه .
                          بهر حال نکته عالی ای بود و متشکرم
                          دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                          دیدگاه


                            #28
                            پاسخ : چرا میکرو اینجوری میشه ؟

                            سلام

                            خوشحالم که مشکل تا حدودی حل شد , من با کامپایلر CCS آشنا نیستم و برنامه شما رو ندیدم اما اگر این کامپایلر از دستورات C استاندارد پیروی میکنه , وقتی حجم زیادی از ram با rom استفاده میشه بهتره که از اشاره گر ها استفاده کنید


                            نوشته اصلی توسط baby_1
                            سلام

                            در مورد حجم Rom ،آقای رمضانی در مورد مشکلتون و نحوه رفعش می شه بیشتر توضیح بدین؟ چون بارها اتفاق افتاده هست که حجم برنامه من به بیش از 50 درصد برسد و بدون مشکل کار کند
                            دقیقا مشکل شما به چه صورت خودش رو بروز می داد

                            ممنونم که مثل همیشه تجربیات و علمتون رو در اختیار دیگرون قرار می دین
                            بله من این موضوع رو بیشتر توضیح میدم اما دقیقا خاطرم نیست که کجا این مطلب رو خوندم و البته باید کمی نوشته های قبلیم رو اصلاح کنم

                            در نرم افزار MPLAB X IDE وقتی پروژتون باز هست در نوار ابزار بر روی File کلیک کنید و Project Properties رو انتخاب کنید

                            در قسمت Categories بر روی mcc18 کلیک کنید

                            در بالای صفحه به Option Categories دقت کنید , گزینه روبه روی اون رو به Memory Model تغییر دهید

                            حال به Code model دقت کنید ! دوگزینه وجود داره


                            Small code model
                            و
                            Large code model


                            در حقیقت اگر کد های شما بیش از 64Kbyts باشد باید Large code model را انتخاب کنید , در غیر این صورت آدرس دهی حافظه به درستی انجام نمیشه , که البته چون میکرو من 128Kbyte فلش داشت من همیشه به این دقت میکردم که وقتی بیش از 50 درصد کد نوشتم این گزینه رو تغییر بدم که در اینجا اصلاحش میکنم و باید به 64Kbyts دقت شود
                            نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
                            تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

                            دیدگاه


                              #29
                              پاسخ : چرا میکرو اینجوری میشه ؟

                              استاد واقعا از توضیحاتتون متشکرم :applause:
                              والا من که سواتم اینقدر قد نمیده که شما دارین توضیح میدید.
                              ولی رفتم تو تنظیمات کامپایلر خودم(compile-call tree) ، دیدم سگمنتای اطلاعاتی که دارم می فرستم بجای 1500 1509 تا در نظر گرفته شده ( تو این کامپایلر اطلاعات بیشتر از 1500 بایت نمی تونه باشه برای همین من اطلاعات ال سی دی خودم رو که 240*128=3840 بایت هست رو تبدیلش کردم به دو تا 1500 تا و یه دونه 840 تا.
                              الان که شما فرمودید رفتم و 3840 بایت رو تبدیلش کردم به 3 تا 1280 بایت و تا الان که 20 دقیقه ازش گذشته خدا رو شکر هنوز نرفته به سطر بعد . :wow: :nice:
                              ممنون :job: :applause:
                              دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                              دیدگاه


                                #30
                                پاسخ : چرا میکرو اینجوری میشه ؟

                                برای اطمینان از تغذیه کلا از باطری استفاده کنید.
                                پایه ریستو به vcc مستقیم وصل کنید
                                کریستالتونو چک کنید و خازناشو بذارید
                                میکروسالمه؟
                                سر راه تغذیه یه خارن 100p موازی کنید
                                حالا نرم افزار
                                lvp و wdt را حتما دیزیبل کنید

                                دیدگاه

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