اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

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

    مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

    دوستان من می خواستم از LCD گرافیکی با چیپست KS0108 در کامپایلر ATmel Studio استفاده کنم.
    هر کتابخونه ای که تو اینترنت پیدا کردم برای انجام این کار پیدا کردم رو امتحان کردم ولی اصلا را نیافتاد.
    از کتابخانه جناب طراح هم که برای کامپایلر IAR نوشته بودن هم سعی کردم استفاده کنم ولی باز هم نشد.

    سخت افزار هم به طور کامل سالم هست و با برنامه ای که با Bascom نوشتم به طور کاملا صحیح کار می کند و در نرم افزار پروتئوس هم با کد بسکام کاملا صحیح شبیه سازی می شود ولی با کد C اصلا کار نمیکند. :angry: :angry: :angry:

    در صورت امکان به این کدهای من یک نگاه می اندازید یا اگر کتابخانه خوبی که قبلا با GCC تست کردید و میدونید که کار میکنه میشه اینجا قرار بدید؟

    http://uplod.ir/2iid6hccxm7e/G_LCD_ATmega128.rar.htm

    #2
    پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

    دستان هیچ کسی از LCD گرافیکی 128x64 با کامپایلر winavr یا atmel studio برنامه ای ننوشته؟ :eek: :angry: :angry:
    من بلاخره یک لایبرری پیدا کردم که کار میکنه ولی توابع خوبی برای رسم اشکال گرافیکی نداره و فون های دیگه هم خوب پشتیبانی نمیکنه ولی خلاصه کار میکنه
    شما لایبرری بهتر برای این LCD ندارید؟

    دیدگاه


      #3
      پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

      دوستان تمام مشکلات رو حل کردم.
      از این برنامه میتونید برای راه اندازی LCD گرافیکی با چیپست KS0108 در محیط ATmel studio استفاده کنید.

      http://uplod.ir/k5po3v9xj903/G_LCD_ATmega128.rar.htm

      دیدگاه


        #4
        پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

        سلام دوست عزیزم
        من خودم از کتابخانه این دوست عزیز مصریم استفاده کردم و خیلی هم خوب راه اندازی شده و از نظر توابع گرافیکی هم بسیار قوی نوشته شده است نوع کامپایلر هم کدویژن و GCC میباشد که با یکم دستکاری میتونی تو Atmel Studio 6 هم راه اندازیش کنی ، باز هم در خدمتم !!!
        https://sites.google.com/site/osamaslab/Home/projects-list/glcd-library
        You do not really understand something unless you can explain it to your grandmother. Albert Einstein

        دیدگاه


          #5
          پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

          نوشته اصلی توسط سید سامان حسینی
          سلام دوست عزیزم
          من خودم از کتابخانه این دوست عزیز مصریم استفاده کردم و خیلی هم خوب راه اندازی شده و از نظر توابع گرافیکی هم بسیار قوی نوشته شده است نوع کامپایلر هم کدویژن و GCC میباشد که با یکم دستکاری میتونی تو Atmel Studio 6 هم راه اندازیش کنی ، باز هم در خدمتم !!!
          https://sites.google.com/site/osamaslab/Home/projects-list/glcd-library
          سلام دوستان ، می خوام ال سی دی گرافیکی ks0108 رو با اتمل استودیو برای ایکسمگا بنویسم . این لایببری که دوستمون گذاشته لینکش خرابه.
          کسی تا الان این مدل پروژه کار نکرده ؟
          کسی لایببری نداره که خوب جواب بده؟

          دیدگاه


            #6
            پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

            سلام و خسته نباشید.
            اون یه کم دستکاری که گفتین چی هست؟ من دانلودش کردم ولی نمیتونم توی atmel studio اضافه ش کنم.
            کلا چه جوری باید این کتابخونه رو اضافه کرد؟

            ممنون.

            دیدگاه


              #7
              پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

              در صفحه زیر سورس و کتابخانه ای برای اتصال AVR به LCD های با کنترل کننده KS0108 قرار داده ام که می توانید استفاده کنید:
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                #8
                پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                نوشته اصلی توسط طراح نمایش پست ها
                در صفحه زیر سورس و کتابخانه ای برای اتصال AVR به LCD های با کنترل کننده KS0108 قرار داده ام که می توانید استفاده کنید:
                http://knowledgeplus.ir/electronics/...s.aspx?lang=Fa
                سلام جناب کی نژاد
                ممنون که اطلاعتتون رو در اختیار دوستان قرار میدید
                یه سوال کوچیک در مورد این کتابخونه که قرار دادید
                در تابع:
                کد:
                uint8_t ks0108ReadFontData(const uint8_t* ptr) 
                {
                 return pgm_read_byte(ptr);
                }
                برای دستور pgm_read_byte چرا قبل از متغیر ptr عملگر & قرار نگرفته؟ مگه نباید به آدرسی که متغیر ptr هست اشاره کنه؟
                من یه بار با یه همچین تابعی تست کردم وقتی & نمیزاشتم اطلاعات اشتباه برمیگشت ولی زمانی که از & استفاده میکردم درست میشد
                اگه یه توضیح مختصر بدید ممنون میشم

                دیدگاه


                  #9
                  پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                  نوشته اصلی توسط M3R-E نمایش پست ها
                  سلام جناب کی نژاد
                  ممنون که اطلاعتتون رو در اختیار دوستان قرار میدید
                  یه سوال کوچیک در مورد این کتابخونه که قرار دادید
                  در تابع:
                  کد:
                  uint8_t ks0108ReadFontData(const uint8_t* ptr) 
                  {
                   return pgm_read_byte(ptr);
                  }
                  برای دستور pgm_read_byte چرا قبل از متغیر ptr عملگر & قرار نگرفته؟ مگه نباید به آدرسی که متغیر ptr هست اشاره کنه؟
                  من یه بار با یه همچین تابعی تست کردم وقتی & نمیزاشتم اطلاعات اشتباه برمیگشت ولی زمانی که از & استفاده میکردم درست میشد
                  اگه یه توضیح مختصر بدید ممنون میشم
                  در این تابع مطابق تعریف انجام شده، ptr یک اشاره گر است. بنابراین نیازی به قرار دادن اپراتور & قبل از آن نیست.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #10
                    پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                    نوشته اصلی توسط طراح نمایش پست ها
                    در این تابع مطابق تعریف انجام شده، ptr یک اشاره گر است. بنابراین نیازی به قرار دادن اپراتور & قبل از آن نیست.
                    ممنون
                    ولی چرا تو این تابع که مربوط به فونت فارسی (تاپیک جناب نوربخش) بدون قرار دادن & مقدار اشتباه برمیگرده و با قرار دادن & مقدار دسته!
                    کد:
                    void LcdFont(const unsigned char *pointer)
                    {
                        FontPointer             = pointer
                    FontWidth                 = pgm_read_byte(&FontPointer[2]);;
                    }
                    الان اگه من اون & رو بردارم مقدار نادرست نمایش داده میشه!

                    دیدگاه


                      #11
                      پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                      نوشته اصلی توسط M3R-E نمایش پست ها
                      ممنون
                      ولی چرا تو این تابع که مربوط به فونت فارسی (تاپیک جناب نوربخش) بدون قرار دادن & مقدار اشتباه برمیگرده و با قرار دادن & مقدار دسته!
                      کد:
                      void LcdFont(const unsigned char *pointer)
                      {
                          FontPointer             = pointer
                      FontWidth                 = pgm_read_byte(&FontPointer[2]);;
                      }
                      الان اگه من اون & رو بردارم مقدار نادرست نمایش داده میشه!
                      مثال اخیر با مورد قبلی متفاوت است. نام یک آرایه معادل با آدرس اولین عضو آرایه است. در این مثال FontPointer در واقع یک آدرس است که معادل است با:
                      کد:
                      &FontPointer[0]
                      برای سایر اعضای آرایه هم باید آدرس را ذکر کنید که چون دسترسی به عضو با ایندکس 2 مورد نظر بوده، از اپراتور & استفاده شده است. اگر به تلگرام دسترسی دارید، این پست را ببینید:
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #12
                        پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                        نوشته اصلی توسط طراح نمایش پست ها
                        مثال اخیر با مورد قبلی متفاوت است. نام یک آرایه معادل با آدرس اولین عضو آرایه است. در این مثال FontPointer در واقع یک آدرس است که معادل است با:
                        کد:
                        &FontPointer[0]
                        برای سایر اعضای آرایه هم باید آدرس را ذکر کنید که چون دسترسی به عضو با ایندکس 2 مورد نظر بوده، از اپراتور & استفاده شده است. اگر به تلگرام دسترسی دارید، این پست را ببینید:
                        https://telegram.me/KnowledgePlus/102
                        سلام
                        ممنون جناب کی نژاد
                        مشکل رو پیدا کردم
                        من واسه برنامم از هدر app_config.h استفاده نکرده بودم و الان که نگاه کردم دیدم که اون روش خوندن بدون & واسه کدویژن هست و در avr studio اون & نیاز هست که جناب نوربخش تو هدر این مورد رو لحاظ کرده بودن:
                        کد:
                        #define _pgm_read_byte(x)                              pgm_read_byte(&x)

                        دیدگاه


                          #13
                          پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                          نوشته اصلی توسط M3R-E نمایش پست ها
                          سلام
                          ممنون جناب کی نژاد
                          مشکل رو پیدا کردم
                          من واسه برنامم از هدر app_config.h استفاده نکرده بودم و الان که نگاه کردم دیدم که اون روش خوندن بدون & واسه کدویژن هست و در avr studio اون & نیاز هست که جناب نوربخش تو هدر این مورد رو لحاظ کرده بودن:
                          کد:
                          #define _pgm_read_byte(x)                              pgm_read_byte(&x)
                          سوال اولیه شما در مورد سورس نوشته شده در Atmel Studio بود و اینکه چرا از اپراتور & در متن سورس استفاده نشده که همانطور که توضیح داده شد به دلیل اینکه آرگومان تابع از نوع اشاره گر است نیازی به قرار دادن این اپراتور نیست. به طور کلی در برنامه نویسی C در Atmel Studio هر جا که آرگومان pgm_read_byte از نوع آدرس باشد نیازی به قرار دادن این اپراتور ندارید که در تابع ks0108ReadFontData که ابتدا درباره آن سوال کردید، همین مورد برقرار است و این مسئله ارتباطی به تعریف انجام شده در app_config.h برای کدویژن ندارد.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


                            #14
                            پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                            نوشته اصلی توسط طراح نمایش پست ها
                            سوال اولیه شما در مورد سورس نوشته شده در Atmel Studio بود و اینکه چرا از اپراتور & در متن سورس استفاده نشده که همانطور که توضیح داده شد به دلیل اینکه آرگومان تابع از نوع اشاره گر است نیازی به قرار دادن این اپراتور نیست. به طور کلی در برنامه نویسی C در Atmel Studio هر جا که آرگومان pgm_read_byte از نوع آدرس باشد نیازی به قرار دادن این اپراتور ندارید که در تابع ks0108ReadFontData که ابتدا درباره آن سوال کردید، همین مورد برقرار است و این مسئله ارتباطی به تعریف انجام شده در app_config.h برای کدویژن ندارد.
                            ممنون
                            مشکل از من بود که حرفهای شما رو درست متوجه نشدم

                            دیدگاه


                              #15
                              پاسخ : مشکل در راه اندازی LCD گرافیکی KS0108 در نرم افزار ATmel Studio

                              سلام دوستان ، این فایل کتابخانه اولی که قرار دادن برای نمایش گر گرافیکی ، توی کجا می شه اتصالات میکرو به نمایشگر را تغییر داد ؟

                              دیدگاه

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