NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1939 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 8 از 8

موضوع: راه اندازی ssd1963

  1. #1
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نام
    افرا بذرافشان
    نوشته ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض راه اندازی ssd1963

    سلام
    من میخوام یک lcd ۷ اینچی رو با استفاده از ssd1963 و stm32f103 راه اندازی کنم. اما تصویری که روی Lcd میگیرم یک تصویر برفکی قرمز هست نمیدونم مشکل کجاست اگر کسی اطلاعی داره لطفا منو راهنمایی کنه

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2

  4. #3
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نام
    افرا بذرافشان
    نوشته ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    برد رو خودم طراحی کردم آماده نیست و قبلا ازش جواب گرفتم به تازگی یک سری تغییرات روی پایه ها اعمال کردم و خواستم کد رو با توجه به تغییرات درست کنم که جواب نمیده
    کد فعال سازی رو اینجا میذارم
    void SSD1963_Init (void)
    {
    SSD1963_DATAPORTX->BRR= 0xFF; // reset extra bits

    SSD1963_CTRLPORT->BRR = SSD1963_PIN_RST;
    HAL_Delay(100);
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RST;
    HAL_Delay(100);

    SSD1963_CTRLPORT->BRR = SSD1963_PIN_RST;
    HAL_Delay(100);
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RST;
    HAL_Delay(100);
    SSD1963_WriteCommand(SSD1963_SOFT_RESET);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SOFT_RESET);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SOFT_RESET);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SOFT_RESET);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SET_PLL_MN);
    SSD1963_WriteData(39); // PLLclk = REFclk * 40 (400MHz)
    SSD1963_WriteData(1); // SYSclk = PLLclk / 2 (200MHz)
    SSD1963_WriteData(0x54); // effectuate values

    SSD1963_WriteCommand(SSD1963_SET_PLL);
    SSD1963_WriteData(0x01);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SET_PLL);
    SSD1963_WriteData(0x03);

    SSD1963_WriteCommand(SSD1963_SOFT_RESET);
    HAL_Delay(10);

    SSD1963_WriteCommand(SSD1963_SET_LCD_MODE); // B0
    SSD1963_WriteData(0x20); // 0x20 for 24bit
    SSD1963_WriteData(0x00);
    SSD1963_WriteData(mHIGH((TFT_WIDTH-1)));
    SSD1963_WriteData(mLOW((TFT_WIDTH-1)));
    SSD1963_WriteData(mHIGH((TFT_HEIGHT-1)));
    SSD1963_WriteData(mLOW((TFT_HEIGHT-1)));
    SSD1963_WriteData(0x00);

    SSD1963_WriteCommand(SSD1963_SET_PIXEL_DATA_INTERF ACE);
    SSD1963_WriteData(SSD1963_PDI_16BIT565);

    SSD1963_WriteCommand(SSD1963_SET_LSHIFT_FREQ);
    SSD1963_WriteData((LCD_FPR >> 16) & 0xFF);
    SSD1963_WriteData((LCD_FPR >> 8) & 0xFF);
    SSD1963_WriteData(LCD_FPR & 0xFF);

    SSD1963_WriteCommand(SSD1963_SET_HORI_PERIOD); // B4
    SSD1963_WriteData(mHIGH(TFT_HSYNC_PERIOD -1));
    SSD1963_WriteData(mLOW(TFT_HSYNC_PERIOD -1));
    SSD1963_WriteData(mHIGH((TFT_HSYNC_PULSE + TFT_HSYNC_BACK_PORCH)));
    SSD1963_WriteData(mLOW((TFT_HSYNC_PULSE + TFT_HSYNC_BACK_PORCH)));
    SSD1963_WriteData(TFT_HSYNC_PULSE -1);
    SSD1963_WriteData(mHIGH(TFT_LPS));
    SSD1963_WriteData(mLOW(TFT_LPS));
    SSD1963_WriteData(0x00);

    SSD1963_WriteCommand(SSD1963_SET_VERT_PERIOD); // B6
    SSD1963_WriteData(mHIGH(TFT_VSYNC_PERIOD -1));
    SSD1963_WriteData(mLOW(TFT_VSYNC_PERIOD -1));
    SSD1963_WriteData(mHIGH((TFT_VSYNC_PULSE + TFT_VSYNC_BACK_PORCH)));
    SSD1963_WriteData(mLOW((TFT_VSYNC_PULSE + TFT_VSYNC_BACK_PORCH)));
    SSD1963_WriteData(TFT_VSYNC_PULSE -1);
    SSD1963_WriteData(mHIGH(TFT_FRPS));
    SSD1963_WriteData(mLOW(TFT_FRPS));


    SSD1963_WriteCommand(SSD1963_ENTER_NORMAL_MODE);

    SSD1963_WriteCommand(SSD1963_SET_DISPLAY_ON); //SET display on
    HAL_Delay(100);
    }
    void LCD_Backlight(uint8_t br) {
    SSD1963_WriteCommand(SSD1963_SET_PWM_CONF);
    SSD1963_WriteData(0x03); // PWMF
    SSD1963_WriteData(br); // PWM DutyCycle
    SSD1963_WriteData(0x01); // PWM Enable
    SSD1963_WriteData(0xff); // DBC Manual Brightness
    SSD1963_WriteData(0xf0); // DBC Minimum Brightness
    SSD1963_WriteData(0x06);
    }

    void SSD_Init() {
    GPIOC->ODR |= 1<<5; // 8080 Mode

    SSD1963_Init();
    SSD1963_WriteCommand(SSD1963_SET_GPIO_CONF);
    SSD1963_WriteData(0x0f); // control by host, output
    SSD1963_WriteData(0x01); // control by host, output

    SSD1963_WriteCommand(SSD1963_SET_GPIO_VALUE);
    SSD1963_WriteData(0x0e);

    SSD1963_WriteCommand(SSD1963_SET_ADDRESS_MODE);
    SSD1963_WriteData(0x80); // horizontal

    SSD1963_WriteCommand(SSD1963_SET_GAMMA_CURVE);
    SSD1963_WriteData(0x08);

    LCD_Backlight(255); // we don't need high backlight, don't want to unstabilize power
    }
    int main(void)
    {
    SSD_Init();

    SSD1963_ClearScreen(RGB565(0,0,0), 0); // black}

  5. #4
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    ار مد fSMC استفاده می کنید یا با gpio؟
    اگر کد قبلا درست بوده و الان این طور شده باید اطمینان حاصل کنید خود سمپل درست کار می کنه. می توانید از یک هرد برد استفاده کنید و با سیم بندی پایه های میکرو متصل کنید به درایور و سمپل تست کنید. اگر درست برود بردتان مشکل دارد.
    در فیلم پیشرفته stm32 نیز راه اندازی tft در دو حالت gpio و مد fsmc شرح داده شده است.

  6. #5
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نام
    افرا بذرافشان
    نوشته ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    چون lcd روشن میشه و یه تصویری داره نشون میده به نظرم مشکل از نرم افزاره اما نمیدونم کدوم قسمت تنظیمات ممکنه باعث این مساله بشه

  7. #6
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط afra151 نمایش پست ها
    چون lcd روشن میشه و یه تصویری داره نشون میده به نظرم مشکل از نرم افزاره اما نمیدونم کدوم قسمت تنظیمات ممکنه باعث این مساله بشه
    سلام ، لطفا این لینک رو نگاه کنید
    _____________________________________
    _____________________________________

  8. تشکرها از این نوشته :


  9. #7
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نام
    افرا بذرافشان
    نوشته ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام، من از مد gpio استفاده میکنم، data bus بین میکرو و ssd1963 رو به صورت خروجی تعریف کردم و دو طرفه نیست ارتباط، مشکل میتونه از این باشه؟؟
    ویرایش توسط afra151 : 07-12-2018 در ساعت 14:08

  10. #8

موضوعات مشابه

  1. پاسخ: 1
    آخرين نوشته: 13-10-2015, 11:15
  2. راه اندازی ال ssd1963 با lpc1768 هدر برد
    توسط moradi71 در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 19-07-2015, 17:02
  3. راه اندازی lcd 7 با ssd1963 و هدربرد lpc1768
    توسط milad.ss در انجمن LPC series (NXP)
    پاسخ: 0
    آخرين نوشته: 30-10-2014, 02:10
  4. راه اندازی tft7 اینچ با ssd1963 در lpc1768
    توسط iaun در انجمن LPC series (NXP)
    پاسخ: 11
    آخرين نوشته: 12-05-2014, 14:43

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •