ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    2012/07/29
    17
    9

    تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    سلام دوستان
    من چند روزی هست بدنبال یک اموزش جامع راجع به راه اندازی LCD به کمک (flexible static memory controller)FSMC هستم اما نتونستم چیز دقیقی گیر بیارم و برام گنگ بود.
    LCD مورد نظر ما مدل N96 معروف هست که 2.8 اینچ هست و درایور ILI9325 داره
    از اونجا که باید به صورت 16 بیت راه اندازی بشه من هرچی مثال دیدم و لایبرری به صورت 8 بیت بوده .
    و اینکه چطوری باید ال سی دی را با FSMC راه انداخت؟
    هدف نهایی هم اضافه کردن emwin به این ال سی دی هست .اما فعلا اینجا گیر افتادم .
    دوستانی که تونستن این ال سی دی رو به کمک FSMC راه اندازی کنن یا راهنمایی دارید ممنون میشم به اشتراک بزارید.
    میکرو مورد استفاده هم STM32F407 هست.(بورد دیسکاوری)
  2. #2
    2007/08/02
    1,297
    786

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    من مشکلی با راه اندازی
    FSMC ندارم . lcd وقتی با emwin راه اندازی میکنم توی gui_init گیر میکنه
    بر دوستان رفته چه افسوس میخوری
    ما هم مگر جواز اقامت گرفته ایم
  3. #3
    2012/07/29
    17
    9

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    سلام خوب هستید مهندس؟
    شما هم lcd 2.8 " رو با FSMC راه اندازی کردید؟
  4. #4
    2007/08/02
    1,297
    786

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    بله . تقریبا همه مدل راه اندازی کردم . نمونه کد حالا پیشم نیست . فردا برات میفرستم
    بر دوستان رفته چه افسوس میخوری
    ما هم مگر جواز اقامت گرفته ایم
  5. #5
    2012/07/29
    17
    9

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    ممنون .لطف میکنید.از الان منتظر فردا هستم
  6. #6
    2007/08/02
    1,297
    786

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    به صورت ساده بگم
    اول تنظیمات FSMC انجام بده مثل این

    /* FSMC initialization function */
    static void MX_FSMC_Init(void)
    {
    FSMC_NORSRAM_TimingTypeDef Timing;


    /** Perform the SRAM1 memory initialization sequence
    */
    hsram1.Instance = FSMC_NORSRAM_DEVICE;
    hsram1.Extended = FSMC_NORSRAM_EXTENDED_DEVICE;
    /* hsram1.Init */
    hsram1.Init.NSBank = FSMC_NORSRAM_BANK1;
    hsram1.Init.DataAddressMux = FSMC_DATA_ADDRESS_MUX_DISABLE;
    hsram1.Init.MemoryType = FSMC_MEMORY_TYPE_SRAM;
    hsram1.Init.MemoryDataWidth = FSMC_NORSRAM_MEM_BUS_WIDTH_16;
    hsram1.Init.BurstAccessMode = FSMC_BURST_ACCESS_MODE_DISABLE;
    hsram1.Init.WaitSignalPolarity = FSMC_WAIT_SIGNAL_POLARITY_LOW;
    hsram1.Init.WrapMode = FSMC_WRAP_MODE_DISABLE;
    hsram1.Init.WaitSignalActive = FSMC_WAIT_TIMING_BEFORE_WS;
    hsram1.Init.WriteOperation = FSMC_WRITE_OPERATION_ENABLE;
    hsram1.Init.WaitSignal = FSMC_WAIT_SIGNAL_DISABLE;
    hsram1.Init.ExtendedMode = FSMC_EXTENDED_MODE_DISABLE;
    hsram1.Init.AsynchronousWait = FSMC_ASYNCHRONOUS_WAIT_DISABLE;
    hsram1.Init.WriteBurst = FSMC_WRITE_BURST_DISABLE;
    /* Timing */
    Timing.AddressSetupTime = 15;
    Timing.AddressHoldTime = 15;
    Timing.DataSetupTime = 255;
    Timing.BusTurnAroundDuration = 15;
    Timing.CLKDivision = 16;
    Timing.DataLatency = 17;
    Timing.AccessMode = FSMC_ACCESS_MODE_A;
    /* ExtTiming */


    if (HAL_SRAM_Init(&hsram1, &Timing, NULL) != HAL_OK)
    {
    _Error_Handler(__FILE__, __LINE__);
    }


    /** Disconnect NADV
    */


    __HAL_AFIO_FSMCNADV_DISCONNECTED();


    }



    بعدش برو توی هر کتابخانه ای که داری و مال هر نوع LCD هست . دو تا تابع داره


    define LCD_REG (*((volatile unsigned short *) 0x60000000)) /* RS = 0
    define LCD_RAM (*((volatile unsigned short *) 0x60020000)) /* RS = 1

    void LCD_WR_REG(uint16_t LCD_Reg)
    {
    // RD_SET; /*???*/
    // CS_CLR; /*??*/
    // RS_CLR; /*0????*/
    // DataToWrite(LCD_Reg);
    // WR_CLR;
    // WR_SET; /*?????*/
    // CS_SET;
    LCD_REG = LCD_Reg;

    }
    ////////////////////////////////////////////////////
    void LCD_WR_DATA(uint16_t LCD_Data)
    {
    // RD_SET; /*???*/
    // CS_CLR;
    // RS_SET; /*1????*/
    // DataToWrite(LCD_Data);
    // WR_CLR;
    // WR_SET; /*?????*/
    // CS_SET;
    LCD_RAM = LCD_Data;

    }


    فکر کنم متوجه شده باشی چی شد .
    این برای STM32F103 هست
    تست کن . خبرشو بده .
    ویرایش توسط sepehr63 : 2017/12/27 در ساعت 07:31
    بر دوستان رفته چه افسوس میخوری
    ما هم مگر جواز اقامت گرفته ایم
  7. #7
    2012/07/29
    17
    9

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    سلام ممنون از پاسختون.
    من ابتدا داخل stm32cube ,تیک FSMC را میزنم روی مد 16 بیت برای LCD interface .,خوب پایه های RD, WR , RS را به کجا وصل کنم؟هر GPIO که شد؟
    2-من کتابخانه LCD N96 که داخل انجمن هم هست که اقای ایمانی فر تهیه کردند رو دارم.داخل اون این دو تا تابع هست:
    lcd_write_index_register( )
    lcd_write_wdr( )

    داخل کتابخانه هم چون برای AVR نوشته شده به این شکل هست .سوال اصلیم اینه چطوری این دو تا تابع رو بیارم بر بستر fsmc?
    مثلا به این شکل هست:
    کد:
    void lcd_write_index_register(char ins)
        {
        CS_LOW;
        RS_LOW;
        LCD_DATAPORT_MSB_PORT=0x00; 
        LCD_DATAPORT_LSB_PORT=ins;
        WR_LOW; 
        WR_HIGH;
        CS_HIGH;        
        }
    و مثلا شما خودتون تابع
    کد:
    DataToWrite(LCD_Reg);
    رو کجا تعریف کردید؟

    ببخشید یکم زیاد شد اخه همین ها باعث سردرگمی شده برام
  8. #8
    2007/08/02
    1,297
    786

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

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

    void lcd_write_index_register(char ins)
    {
    LCD_REG = ins
    ; }




    FSMC_NOE = RD
    FSMC_NWE=WR
    FSMC_NE1=CS

    بر دوستان رفته چه افسوس میخوری
    ما هم مگر جواز اقامت گرفته ایم
  9. #9
    2012/07/29
    17
    9

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    خیلی ممنونم از راهنماییهاتون .
    فقط لطفا این دو مورد را بهم توضیح میدید چون داخل دیگر انجمن ها هم از این دستور استفاده کرده بودند اما من دلیلش را متوجه نشدم.
    کد:
    define LCD_REG              (*((volatile unsigned short *) 0x60000000)) /* RS = 0 
    define LCD_RAM              (*((volatile unsigned short *) 0x60020000)) /* RS = 1 
    و اینکه پایه های CS,RD,RW را به این پایه ها وصل کردید ایا منظور همان پروتکل 8080 هست دیگه؟
    و یدونه سوال اخر اینکه: در صورت استفاده از FSMC و مواردی که شما فرمودید دیگه نیاز نیست به صورت دستی کنترل پایه های RD,CS,WR را دوباره در دست بگیریم؟و خود FSMC همه کارا رو انجام میده؟
  10. #10
    2012/07/29
    17
    9

    پاسخ : تاپیک جامع راه اندازی LCD 2.8 ILI9325 به کمک FSMC

    پایه RST مربوط به LCD را باید به کدوم پایه وصل کنیم؟
    داخل کتابخانه LCD که اقای دهقان گذاشته بودن اینطور تعریف شده بودن مواردی که شما بالا ذکر کردید.حالا باید دوباره تغییرشون بدم به همون شکلی که شما نوشتید؟
    در کتابخانه موجود:
    کد:
    typedef struct
    {
    	u16 LCD_REG;
    	u16 LCD_RAM;
    } LCD_TypeDef;
    کدی که شما گفتید:
    کد:
    define LCD_REG              (*((volatile unsigned short *) 0x60000000)) /* RS = 0 
    define LCD_RAM              (*((volatile unsigned short *) 0x60020000)) /* RS = 1 
    کدامش درسته؟!
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

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

  1. تاپیک جامع RFID
    توسط امیرعلی بلورچیان در انجمن ماژول های RFID و NFC
    پاسخ: 107
    آخرين نوشته: 2019/03/30, 01:05
  2. تاپیک جامع انتخاب رشته
    توسط micro_chip2007 در انجمن دروس و مباحث دانشگاهي
    پاسخ: 43
    آخرين نوشته: 2019/02/15, 17:00
  3. تاپیک جامع نظام مهندسی
    توسط Challenger_69 در انجمن تاسيسات الكتريكي
    پاسخ: 1
    آخرين نوشته: 2017/07/19, 08:41
  4. تاپیک جامع ارشد 92
    توسط Muhammad1986 در انجمن كنكور
    پاسخ: 269
    آخرين نوشته: 2015/10/25, 18:17
  5. تاپیک جامع دکترا 92
    توسط javadjon در انجمن كنكور
    پاسخ: 25
    آخرين نوشته: 2014/11/01, 08:21

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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