اطلاعیه

Collapse
No announcement yet.

مشکل با خواندن اطلاعات از glcd

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

    مشکل با خواندن اطلاعات از glcd

    سلام
    من یه avr به k0108 graphic lcd وصل کردم برای خوندن اطلاعات از lcd مشکل دارم و تابعی که نوشتم اطلاعات واقعی برنمیگردونه واطلات یه ستون برای همه ستون ها تکرار میکنه
    لطفا یکی کمک کنه خیلی عجله دارم :cry2:
    کد:
    unsigned char glcd_read()
    {
      unsigned char buffer;
      DDR_DATAPORT=0x00; //make Input
      RS = 1; //RS high --> data
      RW = 1; //RW high --> read
      EN=1;
      delay_ms(2);
      EN=0;
      delay_ms(2);
      EN=1;        
      delay_ms(2);
      buffer=DATAPORT;
      DDR_DATAPORT=0xFF; //make Output
      EN=0;
    
      return buffer;
    };

    #2
    پاسخ : مشکل با خواندن اطلاعات از glcd

    سلام
    خدا رو شکر مشکلم حل شد
    کدشو میذارم هر کی خواست استفاده کنه
    کد:
    [left]#define DATAPORT PORTB
    #define DATAPIN PINB
    #define DDR_DATA DDRB
    unsigned char glcd_read()
    {
      unsigned char buffer;
      DDR_DATA=0x00; //make Input
      DATAPORT=0xFF;
      delay_us(1);
      RS = 1; //RS high --> data
      RW = 1; //RW high --> read
      trigger();
      EN=1;        
      delay_us(1);
      buffer=DATAPIN;
      delay_us(1);
      EN=0;
      DDR_DATA=0xFF; //make Output 
      delay_us(1);
      return buffer;
    };        
    void trigger()
    {
      EN = 1; //EN high
      delay_us(5);
      EN = 0; //EN low 
      delay_us(5);
    }
    [/left]

    دیدگاه


      #3
      پاسخ : مشکل با خواندن اطلاعات از glcd

      سلام
      من هم چند مدتی به این مشکل برخوردم باید به چند نکته توجه کنید
      زمان کلاک باید خیلی کوتاه باشد حدود ۲ - ۳ میلی ثانیه
      برای هر بار خواندن باید یک کلاک اضافه نیز بدهید که به dummy کلاک مشهور است

      دیدگاه


        #4
        پاسخ : مشکل با خواندن اطلاعات از glcd

        dummy کلاک به این منظور صورت میگیرد که با اولین کلاک اطلاعات مورد نیاز در رجیستر مربوطه در glcd فرستاده می شود
        و با دومین کلاک اطلاعات موجود در این رجیستر بر روی پایه ها نمایش داده میشود

        دیدگاه


          #5
          پاسخ : مشکل با خواندن اطلاعات از glcd

          ببخشید اشتباه چاپی بود حدود ۲ -۳ میکرو ثانیه
          اگر زمان را تا میلی ثانیه افزایش دهید در خروجی مقدار اشتباه نشان میدهد

          دیدگاه


            #6
            عالی بود مرسی

            عالی بود مرسی :applause:

            دیدگاه

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