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





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









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









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





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

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2009/12/08
    تهران
    269
    35

    Lightbulb نمایشگر "TFT LCD 3.5 چیپ کنترلر ILI9486

    سلام
    این نمایشگر با چیپ ILI9486 رو خود eca یک مثال برای میکرو STM32F103 گذاشته

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    اما هرچی اجرا می کنم روی هدر برد STM32F103 جواب نمی دهد!!!!
    فکر می کنم اشکال از LCD_Init که متوجه نمی شوم پایه دیتا و rs , rw , e .... کدام است
    کد:
    D0 ... D15 ?
    CS ?
    RS ?
    WR ?
    RD ?
    RST ?
    کسی هست متوجه شود ترتیب این پایه چطور می باشد؟

    void LCD_Init(void)

    GPIO_InitTypeDef GPIO_InitStructure;
    FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
    FSMC_NORSRAMTimingInitTypeDef readWriteTiming;
    FSMC_NORSRAMTimingInitTypeDef writeTiming;

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE); //Enable FSMC clock
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);//Enable PORTB, D, E, G, and AFIO alternate function clocks

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //Push-pull output backlight
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    //PORTD¸´ÓÃÍÆÍìÊä³ö PORTD multiplexed push-pull output
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_14|GPIO_Pin_15; // //PORTD
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //Multiplexed push-pull output
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    //PORTE¸´ÓÃÍÆÍìÊä³ö PORTE multiplexed push-pull output
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; // //PORTD
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOE, &GPIO_InitStructure);

    // //PORTG12¸´ÓÃÍÆÍìÊä³ö A0 PORTG12 multiplexed push-pull output A0
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_12; //Multiplexed push-pull output
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOG, &GPIO_InitStructure);

    readWriteTiming.FSMC_AddressSetupTime = 0x01; //Address Settling Time (ADDSET) is 2 HCLKs 1 / 36M = 27ns
    readWriteTiming.FSMC_AddressHoldTime = 0x00; //ADDHLD mode A is not used
    readWriteTiming.FSMC_DataSetupTime = 0x0f; //Data retention time of 16 HCLK, because the LCD drive IC read data, the speed can not be too fast, especially for the 1289 of this IC.
    readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;
    readWriteTiming.FSMC_CLKDivision = 0x00;
    readWriteTiming.FSMC_DataLatency = 0x00;
    readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; //Mode A.


    writeTiming.FSMC_AddressSetupTime = 0x00; //Address Settling Time (ADDSET) is 1 HCLK
    writeTiming.FSMC_AddressHoldTime = 0x00; //Address hold time (A)
    writeTiming.FSMC_DataSetupTime = 0x03; //Data retention time is 4 HCLK
    writeTiming.FSMC_BusTurnAroundDuration = 0x00;
    writeTiming.FSMC_CLKDivision = 0x00;
    writeTiming.FSMC_DataLatency = 0x00;
    writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; //Mode A.
    ویرایش توسط avr1083 : 2017/11/18 در ساعت 08:38
  2. #2
    2012/05/05
    4
    0

    پاسخ : نمایشگر "TFT LCD 3.5 چیپ کنترلر ILI9486

    سلام و وقت بخیر.
    دوستان و اساتید گرامی، بنده نیاز مبرم به راه اندازی این نمایشگر (3.5 اینچی با پردازنده ili9486) توسط خانواده STM32F2XX دارم. خیلی برای کتابخانه در نت جستجو کردم. اما نتیجه ای در بر نداشت. راه اندازی به هر صورت که باشه قابل قبوله. فقط خواهشا هر کسی تونسته راه اندازی کنه، نتایج رو به اشتراک بذاره. ممنون میشم. مطمئن باشید اجر معنوی خواهد داشت. با تشکر
    ویرایش توسط hessam_shafaghi : 2017/12/08 در ساعت 23:09
  3. #3
    2012/11/16
    102
    8

    پاسخ : نمایشگر "TFT LCD 3.5 چیپ کنترلر ILI9486

    نقل قول نوشته اصلی توسط avr1083

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    این نمایشگر با چیپ ILI9486 رو خود eca یک مثال برای میکرو STM32F103 گذاشته

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    اما هرچی اجرا می کنم روی هدر برد STM32F103 جواب نمی دهد!!!!
    فکر می کنم اشکال از LCD_Init که متوجه نمی شوم پایه دیتا و rs , rw , e .... کدام است
    کد:
    D0 ... D15 ?
    CS ?
    RS ?
    WR ?
    RD ?
    RST ?
    کسی هست متوجه شود ترتیب این پایه چطور می باشد؟
    ;
    writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; //Mode A.[/CPP]
    شماتیک بورد کاتالیست F103 رو ببینید.
  4. #4
    2009/12/08
    تهران
    269
    35

    پاسخ : نمایشگر "TFT LCD 3.5 چیپ کنترلر ILI9486

    سلام حتما از مدل میکرو کنترلری استفاده کنید که واحد FSMC را پشیبانی کنه
    درست میشه
  5. #5
    2012/08/18
    تهران
    721
    18

    پاسخ : نمایشگر "TFT LCD 3.5 چیپ کنترلر ILI9486

    سلام
    دوستان من هم قصد راه اندازی این lcd با برد stm32f4 discovery رو دارم
    سعی کردم کد مربوط به stm32f103 رو برای stm32f407 تغییر بدم
    اما نتیجه نگرفتم ، کسی از دوستان میدونه مشکل کد کجاست ؟
    پیشاپیش ممنون
    کد:
    #ifndef __LCD_H #define __LCD_H #include "stm32f4xx.h" // Device header #include "stdlib.h" typedef struct { u16 width; u16 height; u16 id; u8 dir; u8 wramcmd; u8 setxcmd; u8 setycmd; }_lcd_dev; extern _lcd_dev lcddev; extern u16 POINT_COLOR; extern u16 BACK_COLOR; #define WIDTH 480 /* Screen Width (in pixels) */ #define HEIGHT 320 /* Screen Hight (in pixels) */ typedef struct { u16 LCD_REG; u16 LCD_RAM; } LCD_TypeDef; #define LCD_BASE ((u32)(0x60000000 | 0x0007FFFE)) #define LCD ((LCD_TypeDef *) LCD_BASE) void LCD_Init (void); void LCD_Window (u16 Xstart, u16 Ystart, u16 Xend, u16 Yend); void LCD_WindowMax (void); void LCD_SetCursor (u16 Xpos, u16 Ypos); void LCD_PutPixel (u16 x, u16 y, u16 color); void LCD_Clear (u16 color); void LCD_Fill (u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color); void LCD_SetTextColor (u16 color); void LCD_SetBackColor (u16 color); void LCD_Show_Image(int x0, int y0, int w, int h, const u16 *code); /* LCD RGB color definitions */ #define Black 0x0000 /* 0, 0, 0 */ #define Navy 0x000F /* 0, 0, 128 */ #define DarkGreen 0x03E0 /* 0, 128, 0 */ #define DarkCyan 0x03EF /* 0, 128, 128 */ #define Maroon 0x7800 /* 128, 0, 0 */ #define Purple 0x780F /* 128, 0, 128 */ #define Olive 0x7BE0 /* 128, 128, 0 */ #define LightGrey 0xC618 /* 192, 192, 192 */ #define DarkGrey 0x7BEF /* 128, 128, 128 */ #define Blue 0x001F /* 0, 0, 255 */ #define Green 0x07E0 /* 0, 255, 0 */ #define Cyan 0x07FF /* 0, 255, 255 */ #define Red 0xF800 /* 255, 0, 0 */ #define Magenta 0xF81F /* 255, 0, 255 */ #define Yellow 0xFFE0 /* 255, 255, 0 */ #define White 0xFFFF /* 255, 255, 255 */ #define WHITE 0XFFFF /* 255, 255, 255 */ #define RED 0xF800 /* 255, 0, 0 */ #define BLUE 0x001F /* 0, 0, 255 */ #endif
    کد:
    #include "ILI9481.h" #include "stdlib.h" #include "font.h" #include "delay.h" u16 POINT_COLOR=0x0000; u16 BACK_COLOR=0xFFFF; static volatile unsigned short TextColor = Black, BackColor = White; uint16_t DeviceCode; _lcd_dev lcddev; void LCD_WR_REG(u16 regval) { LCD->LCD_REG=regval; } void LCD_WR_DATA(u16 data) { LCD->LCD_RAM=data; } u16 LCD_RD_DATA(void) { return LCD->LCD_RAM; } void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue) { LCD->LCD_REG = LCD_Reg; LCD->LCD_RAM = LCD_RegValue; } void wr_reg (unsigned char reg, unsigned short val) { LCD->LCD_REG = reg; LCD->LCD_RAM = val; } u16 LCD_ReadReg(u8 LCD_Reg) { LCD_WR_REG(LCD_Reg); delay_us(5); return LCD_RD_DATA(); } void LCD_WriteRAM_Prepare(void) { LCD->LCD_REG=lcddev.wramcmd; } void LCD_WriteRAM(u16 RGB_Code) { LCD->LCD_RAM = RGB_Code; } void opt_delay(u8 i) { while(i--); } void LCD_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef readWriteTiming; FSMC_NORSRAMTimingInitTypeDef writeTiming; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE, ENABLE);//ʹŜPD,PE,PF,PGʱד RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC,ENABLE);//ʹŜFSMCʱד GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ;//PD0,1,4,5,7,8,9,10,11,14,15 AF OUT GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//شԃˤԶ GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ΆάˤԶ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ʏ- GPIO_Init(GPIOD, &GPIO_InitStructure);//Եʼۯ GPIO_InitStructure.GPIO_Pin = (0X1FF<<7);//PE7~15,AF OUT GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//شԃˤԶ GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ΆάˤԶ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ʏ- GPIO_Init(GPIOE, &GPIO_InitStructure);//Եʼۯ GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0,AF12 GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1,AF12 GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource7,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource13,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15,AF12 GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7,AF12 GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);//PE15,AF12 // GPIO_PinAFConfig(GPIOF,GPIO_PinSource12,GPIO_AF_FSMC);//PF12,AF12 //GPIO_PinAFConfig(GPIOG,GPIO_PinSource12,GPIO_AF_FSMC); readWriteTiming.FSMC_AddressSetupTime = 0XF; //ַ֘ݨbʱݤèADDSETéΪ16ٶHCLK 1/168M=6ns*16=96ns readWriteTiming.FSMC_AddressHoldTime = 0x00; //ַ֘ѣԖʱݤèADDHLDéģʽAδԃս readWriteTiming.FSMC_DataSetupTime = 60; //˽ߝѣզʱݤΪ60ٶHCLK =6*60=360ns readWriteTiming.FSMC_BusTurnAroundDuration = 0x00; readWriteTiming.FSMC_CLKDivision = 0x00; readWriteTiming.FSMC_DataLatency = 0x00; readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; //ģʽA writeTiming.FSMC_AddressSetupTime =9; //ַ֘ݨbʱݤèADDSETéΪ9ٶHCLK =54ns writeTiming.FSMC_AddressHoldTime = 0x00; //ַ֘ѣԖʱݤèA writeTiming.FSMC_DataSetupTime = 8; //˽ߝѣզʱݤΪ6ns*9ٶHCLK=54ns writeTiming.FSMC_BusTurnAroundDuration = 0x00; writeTiming.FSMC_CLKDivision = 0x00; writeTiming.FSMC_DataLatency = 0x00; writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; //ģʽA FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;// ֢oϒćʹԃNE4 ìҲߍהӦBTCR[6],[7]c FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; // һشԃ˽ߝַ֘ FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;// FSMC_MemoryType_SRAM; //SRAM FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//զԢǷ˽ߝ࠭׈Ϊ16bit FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =FSMC_BurstAccessMode_Disable;// FSMC_BurstAccessMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_AsynchronousWait_Disable; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; // զԢǷдʹŜ FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; // ׁдʹԃһͬքʱѲ FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming; //ׁдʱѲ FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &writeTiming; //дʱѲ FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); //ԵʼۯFSMCƤ׃ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); // ʹŜBANK1 LCD_WR_REG(0x11); // Exit sleep mode delay_ms(120); LCD_WR_REG(0xD0); //Power setting LCD_WR_DATA(0x07); // 1xVci LCD_WR_DATA(0x42); LCD_WR_DATA(0x18); LCD_WR_REG(0xD1); // Vcom control LCD_WR_DATA(0x00); LCD_WR_DATA(0x07); //07 LCD_WR_DATA(0x10); LCD_WR_REG(0xD2); // Power setting for normal mode LCD_WR_DATA(0x01); LCD_WR_DATA(0x02); LCD_WR_REG(0xC0); // Panel driving settings LCD_WR_DATA(0x10); LCD_WR_DATA(0x3B); LCD_WR_DATA(0x00); LCD_WR_DATA(0x02); LCD_WR_DATA(0x11); LCD_WR_REG(0xC5); // Frame rate and inversion control LCD_WR_DATA(0x03); // 72 Hz LCD_WR_REG(0xC8); // Gamma settings LCD_WR_DATA(0x00); LCD_WR_DATA(0x32); LCD_WR_DATA(0x36); LCD_WR_DATA(0x45); LCD_WR_DATA(0x06); LCD_WR_DATA(0x16); LCD_WR_DATA(0x37); LCD_WR_DATA(0x75); LCD_WR_DATA(0x77); LCD_WR_DATA(0x54); LCD_WR_DATA(0x0C); LCD_WR_DATA(0x00); LCD_WR_REG(0x36); // set address mode //LCD_WR_DATA(0x6A); LCD_WR_DATA(0x28); LCD_WR_REG(0x3A); // set pixel format LCD_WR_DATA(0x55); LCD_WR_REG(0x2A); // set column address LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x01); LCD_WR_DATA(0x3F); LCD_WR_REG(0x2B); // set page address LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x01); LCD_WR_DATA(0xE0); delay_ms(120); LCD_WR_REG(0x29); LCD_WR_REG(0x2C); //printf("\r\nChip ID = "); LCD_WR_REG(0x0A); //printf("0x%x ", LCD_RD_DATA()); //printf("0x%x ", LCD_RD_DATA()); delay_ms(10); } void LCD_Window(u16 Xstart, u16 Xend, u16 Ystart, u16 Yend) { LCD_WR_REG(0x2a); LCD_WR_DATA(Xstart>>8); LCD_WR_DATA(Xstart&0xff); LCD_WR_DATA(Xend>>8); LCD_WR_DATA(Xend&0xff); LCD_WR_REG(0x2b); LCD_WR_DATA(Ystart>>8); LCD_WR_DATA(Ystart&0xff); LCD_WR_DATA(Yend>>8); LCD_WR_DATA(Yend&0xff); LCD_WR_REG(0x3A); // 16/18 bits LCD_WR_DATA(0x55); LCD_WR_REG(0x2c); } /******************************************************************************* * Set draw window region to whole screen * * Parameter: * * Return: * *******************************************************************************/ void LCD_WindowMax (void) { LCD_Window(0, WIDTH-1, 0, HEIGHT-1); //LCD_Window(0, 0, WIDTH-1, HEIGHT-1); } /* ********************************************************************************************************* * Description: Setting the coordinate of cursor * Arguments : (Xpos , Ypos) the coordinate * Returns : None ********************************************************************************************************* */ void LCD_SetCursor(u16 Xpos, u16 Ypos) { wr_reg(0x0002, Xpos>>8); wr_reg(0x0003, Xpos&0xFF); wr_reg(0x0006, Ypos>>8); wr_reg(0x0007, Ypos&0xFF); } /******************************************************************************* * Clear display * * Parameter: color: display clearing color * * Return: * *******************************************************************************/ void LCD_Clear (unsigned short color) { unsigned int y,x; LCD_WindowMax(); for(y = 0; y <WIDTH*HEIGHT ; y++) { LCD_WR_DATA(color); //wait_delay(500); } } /* ********************************************************************************************************* * Description: In designated areas within the specified color display * Arguments : (xsta ,ysta) start coordinate * (xend ,yend) end coordinate * color I don't know * Returns : None ********************************************************************************************************* */ void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color) { u32 x,y; u16 colorx[]={Blue, Green, Red, White}; LCD_Window(xsta, ysta, xend, yend); LCD_WR_REG(0x22); for (y=0; y<yend-ysta+1; y++) { for (x=0; x<xend-xsta+1; x++) { LCD_WR_DATA(color); delay_ms(1); } } LCD_WindowMax(); } void LCD_PutPixel (u16 x, u16 y, u16 color) { LCD_Window(x, y, x , y); LCD_WR_REG(0x22); LCD_WR_DATA(color); } /******************************************************************************* * Set foreground color * * Parameter: color: foreground color * * Return: * *******************************************************************************/ void LCD_SetTextColor (unsigned short color) { TextColor = color; } /******************************************************************************* * Set background color * * Parameter: color: background color * * Return: * *******************************************************************************/ void LCD_SetBackColor (unsigned short color) { BackColor = color; } void LCD_Show_Image(int x0, int y0, int w, int h, const u16 *code) { u32 xcounter, ycounter; LCD_Window(x0 , x0+w-1, y0, y0+h-1); for(ycounter=0;ycounter<h;ycounter++) { for(xcounter=0; xcounter<w; xcounter++) { LCD_WR_DATA(*code++); } } } //END
    دلیل: ادغام دو پست برای جلوگیری از اسپم

    خب ، خودم مشکل رو پیدا کردم

    تابع delay رو initialize نکرده بودم

    کد:
    delay_init();

    این خط رو به اول تابع main اضافه کنید درست میشه.
    ویرایش توسط sina8 : 2019/05/04 در ساعت 21:54
نمایش نتایج: از 1 به 5 از 5

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

  1. ساخت "KV"کیلو ولت متر برای مدارات "های ولتاژ" +تصویر
    توسط seeto در انجمن ترانسفورماتورها و ماشين هاي الکتريکي
    پاسخ: 17
    آخرين نوشته: 2019/01/29, 21:13
  2. تفاوت یا تعریف "switching frequency" و "response time" چیست ؟
    توسط majidshahrouzi در انجمن الكترونيك صنعتي
    پاسخ: 5
    آخرين نوشته: 2015/02/01, 09:53
  3. پاسخ: 4
    آخرين نوشته: 2015/01/28, 10:41
  4. پاسخ: 3
    آخرين نوشته: 2014/08/15, 20:21
  5. پاسخ: 4
    آخرين نوشته: 2013/07/10, 11:15

کاربرانی که این تاپیک را مشاهده کرده اند: 12

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

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

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

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

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