اطلاعیه

Collapse
No announcement yet.

اتصال lcd کاراکتری به Xmega

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

    #16
    پاسخ : اتصال lcd کاراکتری به Xmega

    در ضمن این کدی هست که من خودم در برنامه هام ازش استفاده میکنم و برای استفاده از کریستال خارجی هست و من تا بحال با این از کریستال های 16 , 14.XXXX (خورده اش یادم نیست ) استفاده کردم و مشکلی نداشتم .

    کد:
    // System Clocks initialization
    void system_clocks_init(void)
    {
    	OSC.XOSCCTRL=0XCB;
    	OSC.CTRL = 9;
    	while(!(OSC.STATUS & 8));
    	CCP = 0xD8;
    	CLK.CTRL = 0x03;
    	CLK.PSCTRL = 0x01;
    }
    ببخشید که الان سخت افزار ندارم که بتونم براتون تست کنم . از دوستان صاحب نظر خواهشمنم اگر اطلاعاتی در این مورد دارند بفرمایند . ممنون
    - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

    دیدگاه


      #17
      پاسخ : اتصال lcd کاراکتری به Xmega

      نوشته اصلی توسط nta_xyz
      سلام من هم با کد اصلی مشکل داشتم و جواب نداد ولی از کد شما که استفاده کردم مشکلم رفع شد فقط الان مشکلی که دارم اینه که شما این برنامه را برای سرعت 2 مگاهرتز نوشتی ولی من وقتی سرعتم را روی 32 مگ میزارم برنامه دیگه کار نمیکنه.
      کسی پیشنهادی نداره برای حل این مشکل ؟
      در لینک زیر در این باره توضیح داده شده
      http://www.eca.ir/forum2/index.php?topic=42495.msg476335#msg476335

      نوشته اصلی توسط مرد نامرئی
      شما باید ابتدا به به فایل C++ استفاده شده برای lcd برید و بر روی تابع delay_us_ کلیک کنید و بعد کلید های ترکیبی ALT+G رو بزنید پرش می کنید به هدر فایل delay.h و بعد در بالای این فایل هدر فرکانس رو در خط زیر تنظیم کنید .
      بهتر هست در کتابخانه های استاندارد تغییری انجام نشود چون ممکن هست در صورت فراموش شدن در پروژه های دیگر دچار مشکل شویم و همینطور قابلیت حمل نرم افزار کاهش می یابد.
      گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

      دیدگاه


        #18
        پاسخ : اتصال lcd کاراکتری به Xmega

        مشکلم حل شد.
        البته با یک کار نه چندان درست!
        36 به 2 تقسیم کردم و شد 16! بعد کل مقدار تاخیرای تابع lcd را در 16 ضرب کردم و درست شد

        ممنون از راهنمایی شما. :wow:

        دیدگاه


          #19
          پاسخ : اتصال lcd کاراکتری به Xmega

          سلام :smile:
          من به تازگی کار با xmega و atmel studio رو شروع کردم، برای راه اندازی lcd از کتابخانه استاد کی نژاد استفاده کردم ولی متاسفانه در حین کامپایل برنامه ی تست خود استاد، چند تا ارور میده.
          کسی میدونه چرا؟
          [code=c]Warning 1 "pgm_read_byte" redefined [enabled by default] xmega_lcd_v2.h 63 0 LCD_test2
          Error 3 pointer targeting address space '__flash' must be const in function parameter '({anonymous})' xmega_lcd_v2.h 103 1 LCD_test2
          Error 4 pointer targeting address space '__flash' must be const in function parameter '({anonymous})' xmega_lcd_v2.h 106 1 LCD_test2
          Warning 10 return type of 'main' is not 'int' [-Wmain] LCD_test2.c 10 6 LCD_test2
          Error 5 variable '_2' must be const in order to be put into read-only section by means of '__flash' LCD_test2.c 4 23 LCD_test2
          Error 6 variable '_3' must be const in order to be put into read-only section by means of '__flash' LCD_test2.c 5 23 LCD_test2
          Error 7 variable '_4' must be const in order to be put into read-only section by means of '__flash' LCD_test2.c 6 23 LCD_test2
          Error 8 variable '_5' must be const in order to be put into read-only section by means of '__flash' LCD_test2.c 7 23 LCD_test2
          Error 9 variable 'xx' must be const in order to be put into read-only section by means of '__flash' LCD_test2.c 8 14 LCD_test2
          [/code]

          محتویات فایل main موجود در فایل های کتابخانه رو به طور کامل و بدون تغییر در فایل LCD_test2 کپی کردم.
          اینم لینک کتابخونه استاد کی نژادhttp://knowledgeplus.ir/userfiles/Lcd_char_farsi_1.rar
          پیشاپیش ممنون

          دیدگاه


            #20
            پاسخ : اتصال lcd کاراکتری به Xmega

            این کتابخانه برای IAR نوشته شده و این خطاها مربوط هست به تفاوت syntax آن با AtmelStudio که باید تغییرات زیر را اعمال کنید:
            برای Warning 1 خط مربوطه را در کتابخانه Comment کنید
            برای Warning 10 تابع main را به این صورت تغییر دهید: (int main (void
            برای Error ها هم طبق آنچه گفته شده برای تعریف متغیرها عبارت const را اضافه کنید.
            گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

            دیدگاه


              #21
              پاسخ : اتصال lcd کاراکتری به Xmega

              شما می تونید از کد های استفاده شده در همین تاپیک استفاده کنید . :rolleyes:
              - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

              دیدگاه

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