Ярлыки

_GetPixelIndex (1) _SetPixelIndex (1) 3-phase (1) 800x480 (1) АЦП (1) генератор (1) синхронный усилитель (2) структура (1) учебный курс (1) шаговый двигатель (1) ШИМ (2) accert (1) AD7608 (1) AD8429 (1) ADC (5) amplifer (1) arccos (1) arcsin (1) arctang (2) arctg (3) ARM (2) arm_sqrt_q15 (2) assembler (6) ASSERT (1) atan (2) bit (1) Bitband (1) boot (3) bootlloader (1) BUTTON (1) C (5) C# (1) CAN (2) CC2530 (5) CMSIS (4) command (1) Cordic (1) Core746I (1) CubeMX (4) DBGMCU (2) debug (2) debug.ini (1) delegate (1) Digital Potentiometers (1) DigitalPOT (1) Discovery (1) DMA (9) DMA2D (1) DSP (1) DSP library (1) DWT (1) EFM32 (5) EmWin (9) EXTI (1) FATFS (1) FMC (2) FreeRTOS (2) gl868-dual cmux (1) GPIO (4) GUI (2) GUIBuilder (1) GUIDRV_CompactColor_16 (1) HAL (3) HappyGecko (1) Hard Fault (2) heap (1) I2C (1) ID (1) ILI9320 (1) ILI9325 (1) Initialisation (1) InitLTDC (1) Instrumentithion (1) Interrupt (4) ITR (1) JTAG (1) Keil (5) LCDConf (2) lock-in (1) LTCD (1) LTDC (3) main (1) memory (1) MINI_STM32 Revision 01 (1) nBoot0 (1) NVIC (1) OnePulse (2) OSAL (4) pack (1) phase (1) printf (3) Pulse (1) PWM (12) RCC (2) RCR (1) Register (1) RESET (2) RS232 (3) RSS (1) RTC (3) RTOS-RTX (1) RTT (1) RTX-RTOS (1) SDCard (1) SDRAM (6) Segger (2) SPI (3) sqrt (3) SSD1298 (1) SSD1963 (1) Standart Peripherial Library (3) STANDBAY (1) startup (1) STemWin (8) stepper motor (1) STlink (2) STM32 (17) STM32429ZI (1) STM32Cube (1) STM32DBG.IN (1) STM32F (28) STM32F0 (4) STM32F1 (13) STM32F4 (10) STM32F4 Discovery (1) STM32F407ZG (1) STM32F429 (2) STM32F746 (1) STOP (1) string (1) struct (1) SWD (1) SWD JTAG (1) Synhronization (1) system_stm32f4xx.c (1) SystemInit (1) SysTick (1) task (4) telit (1) TIM (27) typedef (1) UART (1) USART (9) viewer (2) WM_PAINT (1) Z-stack (5) ZigBee (5)

четверг, 4 сентября 2014 г.

emWin Display Driver GUIDRV_CompactColor_16


    Данный драйвер поддерживает следующие типы дисплеев

  • Ampire FSA506
  • Epson S1D13742, S1D13743, S1D19122
  • FocalTech FT1509Himax HX8301, HX8312A, HX8325A, HX8340, HX8347, HX8352,HX8352B, HX8353
  • Hitachi HD66766, HD66772, HD66789
  • Ilitek ILI9161, ILI9220, ILI9221, ILI9320, ILI9325, ILI9326, ILI9328, ILI9342
  • LG Electronics LGDP4531, LGDP4551
  • MagnaChip D54E4PA7551
  • Novatek NT39122, NT7573
  • OriseTech SPFD5408, SPFD54124C, SPFD5414D, SPFD5420A
  • Renesas R61505, R61509, R61516, R61526, R61580, R63401
  • Samsung S6D0110A, S6D0117, S6D0128, S6D0129, S6D04H0
  • Sharp LCY-A06003, LR38825
  • Sitronix ST7628, ST7637, ST7687, ST7712, ST7715, ST7735, ST7787, ST7789
  • Solomon SSD1284, SSD1289, SSD1298, SSD1355, SSD1961, SSD1963, SSD2119
  • Toshiba JBT6K71
    Поддерживаемая глубина цвета - 16 бит.
    Драйвер поддерживает 8-ми и 16-ти битный параллельный интерфейс, а также SPI для 3-х линий управления. По умолчанию настроен на параллельный 8-ми битовый интерфейс.

To be able to use this driver the following macro definition needs to be added to the configuration file 

Для использования данного драйвера необходимо добавить макроопределение в файл LCDConf.h:



#define LCD_USE_COMPACT_COLOR_16

    После этого макроопределения в конфигурационном файле LCDConf_CompactColor_16.h добавляется строка:

GUI_DEVICE_CreateAndLink(GUIDRV_COMPACT_COLOR_16, GUICC_565, 0, 0);


    Драйвер может использоваться с дисплейным кешем в RAM или без него. Общее количество памяти для кэша

LCD_XSIZE * LCD_YSIZE * 2 bytes    (для дисплеев 320Х240Х2=153600)

        Конфигурационные макроопределения

    To select the desired controller the macro LCD_CONTROLLER should be used in the configuration file LCDConf_CompactColor_16.h. The following table shows the values to be used to select the appropriate controller:
    В файле  LCDConf_CompactColor_16.h задается макроопределение LCD_CONTROLLER определяющее тип контроллера


    Конфигурация дисплея задается макроопределениями

LCD_MIRROR_X Activate to mirror X-axis.
LCD_MIRROR_Y Activate to mirror Y-axis.
LCD_SWAP_XY Activate to swap X- and Y-axis.

    Конфигурация оборудования

LCD_NUM_DUMMY_READSNumber of required dummy reads if a read operation should be executed. The default value is 2. If using a serial interface the display controllers HD66766 and HD66772 need 5 dummy reads. Sharp LR38825 needs 3 dummy reads with a 8-bit bus.
LCD_REG01This macro is only required if a Himax HX8312A is used. Unfortunately the register 0x01 (Control register 1) contains orientation specific settings as well as common settings. So this macro should contain the contents of this register.
LCD_SERIAL_IDWith a serial 3 wire interface this macro defines the ID signal of the device ID code. It should be 0 (default) or 1. Please note: This macro is only used with the 3 wire protocol for Hitachi HD66772, Samsung S6D0117, Himax HX8301 and Ilitek ILI9220.
LCD_USE_SERIAL_3PINThis configuration macro has been implemented to support the 3 wire serial interface of the following controllers: Hitachi HD66772, Samsung S6D0117, Himax HX8301, Ilitek ILI9220. Should be set to 1 if the 3 wire serial interface is used. Default is 0.
Please note: Do not use this macro with other display controllers!
LCD_USE_PARALLEL_16Should be set to 1 if the 16 bit parallel interface is used. Default is 0.
LCD_WRITE_BUFFER_SIZEDefines the size of the write buffer. Using a write buffer increases the performance of the driver. If multiple pixels should be written with the same color, the driver first fills the buffer and then writes the contents of the buffer with one execution of the macro LCD_WRITEM_A1, instead of multiple macro executions. The default buffer size is 500 bytes.
LCD_WRITE_A0Write a byte to display controller with RS-line low.
LCD_WRITE_A1Write a byte to display controller with RS-line high.
LCD_READM_A1Read multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) from display controller with RS-line high.
LCD_WRITEM_A1Write multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) to display controller with RS-line high.
LCD_WRITEM_A0Write multiple bytes (8 bit parallel interface) or multiple words (16 bit parallel interface) to display controller with RS-line low.

    Пример кофигурации

LCDConf.h - добавить строку

#define LCD_USE_COMPACT_COLOR_16


LCDConf_CompactColor_16.h - добавить

//
// General configuration of LCD
//
#define LCD_CONTROLLER      66709 // Renesas R61516
#define LCD_BITSPERPIXEL       16
#define LCD_SWAP_RB             1
#define LCD_USE_PARALLEL_16     1
#define LCD_MIRROR_Y            1
//
// Indirect interface configuration
//
void LCD_X_Write01_16 (unsigned short c);
void LCD_X_Write00_16 (unsigned short c);
void LCD_X_WriteM01_16(unsigned short * pData, int NumWords);
void LCD_X_WriteM00_16(unsigned short * pData, int NumWords);
void LCD_X_ReadM01_16 (unsigned short * pData, int NumWords);

#define LCD_WRITE_A1 (Word) LCD_X_Write01_16(Word)
#define LCD_WRITE_A0 (Word) LCD_X_Write00_16(Word)
#define LCD_WRITEM_A1(Word, NumWords) LCD_X_WriteM01_16(Word, NumWords)
#define LCD_WRITEM_A0(Word, NumWords) LCD_X_WriteM00_16(Word, NumWords)
#define LCD_READM_A1 (Word, NumWords) LCD_X_ReadM01_16 (Word, NumWords)

LCDConf.c

void LCD_X_Config(void) {
  //
  // Set display driver and color conversion
  //
  GUI_DEVICE_CreateAndLink(GUIDRV_COMPACT_COLOR_16, // Display driver
                           GUICC_M565,              // Color conversion
                           0, 0);
  //
  // Display driver configuration
  //
  LCD_SetSizeEx(0, 240, 320);                       // Physical display size in pixels
}






Комментариев нет:

Отправить комментарий