اطلاعیه

Collapse
No announcement yet.

[برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

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

    #31
    پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

    شما کتابخونتون برای AVR آماده نشده؟
    زمانی براش در نظر دارید؟


    خدایا آنگونه زنده ام بدار تا نشکند دلی از زنده بودنم و آنگونه بمیرانم تا به وجد نیاید کسی از نبودنم (دکتر شریعتی)

    دیدگاه


      #32
      پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

      نوشته اصلی توسط m_electronic
      شما کتابخونتون برای AVR آماده نشده؟
      زمانی براش در نظر دارید؟
      سلام
      نه آماده نیست
      من تا این هفته امتحان داشتم نمیتونستم
      الان برای 3.2 اینچی آماده کردم اونم برای آرم هست
      زمان خاصی نه ولی بزودی میزنم
      زندگی یعنی امید و حرکت
      کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
      سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
      برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
      به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

      دیدگاه


        #33
        پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

        سلام ممنون به خاطر کتابخانه :applause:
        من این کتابخانه را در قسمت تعریف ها به stm32 تبدیل کردم ولی جواب نداد :angry:میشه نگاهی به برنامه من کنید.
        بازم ممنون میشم.
        http://www.uplooder.net/cgi-bin/dl.c...f7ff2263d99ee6

        دیدگاه


          #34
          پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

          نوشته اصلی توسط ali_2012
          سلام ممنون به خاطر کتابخانه :applause:
          من این کتابخانه را در قسمت تعریف ها به stm32 تبدیل کردم ولی جواب نداد :angry:میشه نگاهی به برنامه من کنید.
          بازم ممنون میشم.
          http://www.uplooder.net/cgi-bin/dl.c...f7ff2263d99ee6
          فک میکنم مشکلتون بخاطر تابع init باشه
          اولشو شما کامنت کردین
          نباید اینکارو کنین.
          زندگی یعنی امید و حرکت
          کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
          سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
          برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
          به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

          دیدگاه


            #35
            پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

            نوشته اصلی توسط علی ایمانی فر
            فک میکنم مشکلتون بخاطر تابع init باشه
            اولشو شما کامنت کردین
            نباید اینکارو کنین.
            سلام ممنون
            تابع init برای فعال کردن پورت ها و کلاک شون بود که من قبل از فراراخانی داخل تابع اصلی همون main این ها را فعال کردم.
            فکر کنم مشکل از اون دستورات باشه که داخل تابع های write Register lcd من تغییر دادم میشه یک نگاهی ا.وجا به اندازید.
            بازم ممنون

            دیدگاه


              #36
              پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

              نوشته اصلی توسط ali_2012
              سلام ممنون
              تابع init برای فعال کردن پورت ها و کلاک شون بود که من قبل از فراراخانی داخل تابع اصلی همون main این ها را فعال کردم.
              فکر کنم مشکل از اون دستورات باشه که داخل تابع های write Register lcd من تغییر دادم میشه یک نگاهی ا.وجا به اندازید.
              بازم ممنون
              ببین
              ی کار کن
              شما دستورات صفر و یک کردن خروجی رو مثل TFTLCD_RD_HIGH دونه دونه توی ی برنامه جدا گانه بزن ببین پایه مربوطه صفرو یک میشه یا نه و اگه جواب داد دیگه مشکلی نیست
              من فکر میکنم مشکل از عدم کار کرد اینا باشه که اینم بر میگرده به خود stm و من باهاش کار نکردم
              زندگی یعنی امید و حرکت
              کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
              سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
              برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
              به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

              دیدگاه


                #37
                پاسخ : پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدی

                نوشته اصلی توسط علی ایمانی فر
                ببین
                ی کار کن
                شما دستورات صفر و یک کردن خروجی رو مثل TFTLCD_RD_HIGH دونه دونه توی ی برنامه جدا گانه بزن ببین پایه مربوطه صفرو یک میشه یا نه و اگه جواب داد دیگه مشکلی نیست
                من فکر میکنم مشکل از عدم کار کرد اینا باشه که اینم بر میگرده به خود stm و من باهاش کار نکردم
                سلام فکر کنم از این سه تابع باشه
                اون مواردی هم که گفتید تست کردم درسته.
                راستی این ریجتسر ها stm32 که گذاشتم همه 16 بیتی هستند.
                ODR و IDR
                ODR برای نوشتن
                IDR برای خواندن
                کد:
                /* LCD functions: */ 
                //----------------------------------------------------------------------------------------------------
                // Write Into The Index Register Of LCD
                //----------------------------------------------------------------------------------------------------
                
                void tftlcd_write_index_register(int command)
                {
                	#ifdef TFTLCD_DATABUS_8
                	 TFTLCD_RS_LOW;
                  TFTLCD_RD_HIGH;
                  TFTLCD_WR_LOW;
                  TFTLCD_DATAPORT_OUTPUT();
                		TFTLCD_DATAPORT_CLEAR;
                  TFTLCD_DATAPORT-> ODR = ((command>>8) << TFTLCD_DATAPORT_OFFSET); 
                  TFTLCD_CS_LOW;
                  TFTLCD_CS_HIGH;
                		TFTLCD_DATAPORT_CLEAR;
                  TFTLCD_DATAPORT-> ODR = ((command) << TFTLCD_DATAPORT_OFFSET);
                  TFTLCD_CS_LOW;
                  TFTLCD_CS_HIGH;
                  TFTLCD_WR_HIGH;
                  TFTLCD_DATAPORT_INPUT();
                 #else	
                		TFTLCD_RS_LOW;
                		TFTLCD_WR_LOW;
                		TFTLCD_RD_HIGH;
                		TFTLCD_DATAPORT_CLEAR;
                		TFTLCD_DATAPORT-> ODR = (command << TFTLCD_DATAPORT_OFFSET);
                		TFTLCD_CS_LOW;
                		TFTLCD_CS_HIGH;
                		TFTLCD_DATAPORT_CLEAR;
                		TFTLCD_RS_HIGH; 
                	#endif
                	
                }
                
                //----------------------------------------------------------------------------------------------------
                // Write Into The WDR Register
                //----------------------------------------------------------------------------------------------------
                void tftlcd_write_wdr(int data)
                { 
                	
                	#ifdef TFTLCD_DATABUS_8
                		int highbyte=(data & 0x0000FF00) >>8;
                		int lowbyte=(data & 0x000000FF);
                		TFTLCD_RS_HIGH;
                  TFTLCD_RD_HIGH;
                  TFTLCD_WR_LOW;
                  TFTLCD_DATAPORT_OUTPUT();
                		TFTLCD_DATAPORT_CLEAR;
                  TFTLCD_DATAPORT-> ODR = (highbyte << TFTLCD_DATAPORT_OFFSET);
                  TFTLCD_CS_LOW;
                  TFTLCD_CS_HIGH;
                		TFTLCD_DATAPORT_CLEAR;
                  TFTLCD_DATAPORT-> ODR = (lowbyte << TFTLCD_DATAPORT_OFFSET);
                  TFTLCD_CS_LOW;
                  TFTLCD_CS_HIGH;
                  TFTLCD_WR_HIGH;
                  TFTLCD_DATAPORT_INPUT();
                	#else
                		TFTLCD_RS_HIGH;
                		TFTLCD_WR_LOW;
                		TFTLCD_RD_HIGH;
                  TFTLCD_DATAPORT-> ODR = (data << TFTLCD_DATAPORT_OFFSET);
                	 TFTLCD_CS_LOW;
                  TFTLCD_CS_HIGH; 
                	#endif
                	
                	
                }
                
                //----------------------------------------------------------------------------------------------------
                // Read RDR LCD Register
                //----------------------------------------------------------------------------------------------------
                int tftlcd_read_rdr(void)
                {	
                	#ifdef TFTLCD_DATABUS_8
                  	int rdr_data;
                	 TFTLCD_DATAPORT_INPUT();
                  TFTLCD_RS_HIGH;
                  TFTLCD_WR_HIGH;
                  TFTLCD_RD_LOW; 
                  TFTLCD_CS_LOW;
                		TFTLCD_CS_LOW;
                  rdr_data = (TFTLCD_DATAPORT-> IDR & (0xFF << TFTLCD_DATAPORT_OFFSET));
                  TFTLCD_CS_HIGH;
                  rdr_data <<= 8;
                  TFTLCD_RD_HIGH;
                  delay_ms(100);
                	 TFTLCD_RD_LOW;
                  TFTLCD_CS_LOW;
                	 TFTLCD_CS_LOW; 
                  rdr_data |= (TFTLCD_DATAPORT-> IDR & (0xFF << TFTLCD_DATAPORT_OFFSET));
                  TFTLCD_CS_HIGH;
                  TFTLCD_RD_HIGH;
                		TFTLCD_DATAPORT_OUTPUT();
                  return rdr_data;
                	#else
                		int rdr_data;
                		TFTLCD_DATAPORT_INPUT();
                		TFTLCD_RD_LOW;
                		TFTLCD_WR_HIGH;
                		TFTLCD_CS_LOW;
                		TFTLCD_RS_HIGH;
                		//rdr_data = (_TFTLCD_DATAPORT_PDSR_ & (0xFFFF << TFTLCD_DATAPORT_OFFSET));
                		rdr_data = ((TFTLCD_DATAPORT-> IDR >> TFTLCD_DATAPORT_OFFSET) & 0xFFFF);
                		TFTLCD_CS_HIGH;
                		TFTLCD_RD_HIGH;
                		TFTLCD_WR_LOW;
                		TFTLCD_RS_LOW;
                 	TFTLCD_DATAPORT_OUTPUT();
                		return rdr_data;
                	#endif	
                }

                دیدگاه


                  #38
                  پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                  ببین
                  این توابعی که گذاشتی ربطی به نوع میکرو نداره. نوع میکرو فقط تعاریف رو تغییر میده نه این توابع رو. اگه دستوراتی که توی پست قبلم بهت گفتم درست کار میکنه باید اینا هم کار کنه.
                  از سلامت LCD مطمئنی؟
                  زندگی یعنی امید و حرکت
                  کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                  سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                  برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                  به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                  دیدگاه


                    #39
                    پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                    [quote auhor=علی ایمانی فر link=topic=85506.msg549164#msg549164 date=1391072909]
                    ببین
                    این توابعی که گذاشتی ربطی به نوع میکرو نداره. نوع میکرو فقط تعاریف رو تغییر میده نه این توابع رو. اگه دستوراتی که توی پست قبلم بهت گفتم درست کار میکنه باید اینا هم کار کنه.
                    از سلامت LCD مطمئنی؟
                    [/quote]
                    سلام
                    Lcd سالمه مطمئن.
                    تعداد بیت ریجیستر ها تاثیری روی عمل کرد و تعداد شیفت ها داخل تابع ها نداره.
                    چون اون ریجیستر های at91 همه 32 بیتی هستند؟
                    ممنون که پی جوی پست ها هستید

                    دیدگاه


                      #40
                      پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                      نوشته اصلی توسط ali_2012
                      سلام
                      Lcd سالمه مطمئن.
                      تعداد بیت ریجیستر ها تاثیری روی عمل کرد و تعداد شیفت ها داخل تابع ها نداره.
                      چون اون ریجیستر های at91 همه 32 بیتی هستند؟
                      ممنون که پی جوی پست ها هستید
                      ببین بیت رجیستر ها 32بیتی هستن ولی چون عملات مقدار دهی رو از بیت ofset شروع میکنی با بقیه بیت ها کاری نداره و مشکلی پیش نمیاد.
                      توی STM بیت رجیسترا چند بیتی هست؟
                      زندگی یعنی امید و حرکت
                      کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                      سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                      برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                      به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                      دیدگاه


                        #41
                        پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                        نوشته اصلی توسط علی ایمانی فر
                        ببین بیت رجیستر ها 32بیتی هستن ولی چون عملات مقدار دهی رو از بیت ofset شروع میکنی با بقیه بیت ها کاری نداره و مشکلی پیش نمیاد.
                        توی STM بیت رجیسترا چند بیتی هست؟
                        سلام
                        ریجیستر هایی من گذاشتم هر دو تاش 16 بیتی اند odr و idr
                        اما stm ریجیستر 32 هم داره که ما فعلا بهش کاری نداریم.

                        دیدگاه


                          #42
                          پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                          نوشته اصلی توسط ali_2012
                          سلام
                          ریجیستر هایی من گذاشتم هر دو تاش 16 بیتی اند odr و idr
                          اما stm ریجیستر 32 هم داره که ما فعلا بهش کاری نداریم.
                          پس شما با آفست کاری نداشته باش. اونو باید همیشه 0 بزاری
                          و در این صورت دیگه نباید مشکلی باشه
                          اتصالاتت رو حتما ی دور چک کن با مولتی متر
                          زندگی یعنی امید و حرکت
                          کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                          سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                          برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                          به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                          دیدگاه


                            #43
                            پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

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


                            اینم اروراش

                            کد:
                            Rebuild target 'Target 1'
                            assembling SAM7.s...
                            compiling 1.c...
                            1.c(46): warning: #1-D: last line of file ends without a newline
                            linking...
                            1.axf: Error: L6218E: Undefined symbol tftlcd_draw_circle (referred from 1.o).
                            1.axf: Error: L6218E: Undefined symbol tftlcd_fill (referred from 1.o).
                            1.axf: Error: L6218E: Undefined symbol tftlcd_init (referred from 1.o).
                            Target not created
                            اینم خوده برنامس

                            کد:
                            #include <AT91SAM7X256.h>
                            #include <lib_AT91SAM7X256.H>
                            #include <stdio.h>
                            #include <delay.h>
                            #include "tftlcd_functions.h"
                            
                            
                            
                            int main(void)
                            {
                            	
                            	tftlcd_init();
                            	
                             tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(10,10,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(20,10,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(30,20,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(40,20,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(50,30,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(60,30,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(70,40,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(80,40,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(90,50,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(100,50,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(110,60,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(110,60,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	tftlcd_draw_circle(120,70,20,1,LIGHT_BLUE);
                            	tftlcd_fill(GREEN);
                            	
                            	while(1) {
                            		
                            
                            	}
                            }
                            پوشه خود برنامه ای که مینویسم رو دسکتاپه

                            دیدگاه


                              #44
                              پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                              شما باید خود هدر (h.) رو توی برنامه اینکلود کنی و فایل سی کتابخونه رو هم با پروژه اضافه کنی که برای این کار باید بری سمت چپ نرمافزار کیل و توی پنجره Project روی پوشه محتویات پروژه رایت کلیک کن و Add Files to Group... رو بزن و فایل زبان سی رو به پروژه اضافه کن بعدش دیگه ارور نمیده
                              زندگی یعنی امید و حرکت
                              کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                              سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                              برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                              به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                              دیدگاه


                                #45
                                پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                                ردیف شده
                                آقا پس چرا مثل بقیه هدرها نیست؟یعنی اونارو طور دیگه درست میکنن؟ که لازم به اضافه کردن تو پروژه نیست؟ oo:
                                اون کتابخونه ی delay ام باید پاک میکردم که واسم سواله چرا در رابطه با بقیه کتابخونه ها این مشکل نبود ..
                                بعد یه چیزی
                                در مورد تابع رفرش کردن تصویر یه توضیح میدی بی زحمت؟
                                اینکه اگه از این تابع استفاده کنیم با توجه به اینکه لازم نیست کل صفحه رو رفرش کنیم و فقط همون قسمتی که کار داریم رو رفرش میکنیم و در نتیجه سرعت بالاتر میره .. درست میگم؟؟
                                خب چهطوری استفاده بشه من دوتا پارامتر آخرشو نمیدونم چیه

                                دیدگاه

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