Отговори на тема  [ 2 мнения ] 
STM32 и TFT ориентация 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 9:58 pm
Мнения: 284
Местоположение: Varna
Мнение STM32 и TFT ориентация
Някой който се е борил с STM32 и TFT LCD случайно да знае как може да се завърти изображението на дисплея. Всичко се изобразява само вертикално. Никъде в никакви документации, библиотеки или хелпове не открих да се споменава нещо подобно.
STM32F103VET6 и диплея е 2,4" / ILI9341 вързан по SPI. Всичко дотук работи без грешка, (ползвам Keil), но не предполагах, че тази ориентация ще се окаже "подводен камък". Два дни не мога да открия какво ми убягва :(
Това е инициализацията:
Код:
void LCD_Init(void)
{
   LCD_REST=0;      
   delay_ms(50); // delay 20 ms
        LCD_REST=1;      
   delay_ms(50); // delay 20 ms

   SPILCD_RST_RESET ;   //LCD_RST=0   
   delay_ms(20); // delay 20 ms
        SPILCD_RST_SET ;   //LCD_RST=1      
   delay_ms(20);

   
   lcddev.width=320;
   lcddev.height=240;
   lcddev.wramcmd=0X2C;
   lcddev.setxcmd=0X2A;
   lcddev.setycmd=0X2B;    

   LCD_WR_REG(0xCF); 
   LCD_WR_DATA8(0x00);
   LCD_WR_DATA8(0xD9);
   LCD_WR_DATA8(0X30);
   
   LCD_WR_REG(0xED); 
   LCD_WR_DATA8(0x64);
   LCD_WR_DATA8(0x03);
   LCD_WR_DATA8(0X12);
   LCD_WR_DATA8(0X81);
   
   LCD_WR_REG(0xE8); 
   LCD_WR_DATA8(0x85);
   LCD_WR_DATA8(0x10);
   LCD_WR_DATA8(0x78);
   
   LCD_WR_REG(0xCB); 
   LCD_WR_DATA8(0x39);
   LCD_WR_DATA8(0x2C);
   LCD_WR_DATA8(0x00);
   LCD_WR_DATA8(0x34);
   LCD_WR_DATA8(0x02);
   
   LCD_WR_REG(0xF7); 
   LCD_WR_DATA8(0x20);
   
   LCD_WR_REG(0xEA); 
   LCD_WR_DATA8(0x00);
   LCD_WR_DATA8(0x00);
   
   LCD_WR_REG(0xC0);    //Power control
   LCD_WR_DATA8(0x21);   //VRH[5:0]
   
   LCD_WR_REG(0xC1);    //Power control
   LCD_WR_DATA8(0x12);   //SAP[2:0];BT[3:0]
   
   LCD_WR_REG(0xC5);    //VCM control
   LCD_WR_DATA8(0x32);
   LCD_WR_DATA8(0x3C);
   
   LCD_WR_REG(0xC7);    //VCM control2
   LCD_WR_DATA8(0XC1);
   
   LCD_WR_REG(0x36);    // Memory Access Control
   LCD_WR_DATA8(0x08);
   
   LCD_WR_REG(0x3A);   
   LCD_WR_DATA8(0x55);
   
   LCD_WR_REG(0xB1);   
   LCD_WR_DATA8(0x00);   
   LCD_WR_DATA8(0x18);
   
   LCD_WR_REG(0xB6);    // Display Function Control
   LCD_WR_DATA8(0x0A);
   LCD_WR_DATA8(0xA2);
   
   
   
   LCD_WR_REG(0xF2);    // 3Gamma Function Disable
   LCD_WR_DATA8(0x00);
   
   LCD_WR_REG(0x26);    //Gamma curve selected
   LCD_WR_DATA8(0x01);
   
   LCD_WR_REG(0xE0);    //Set Gamma
   LCD_WR_DATA8(0x0F);
   LCD_WR_DATA8(0x20);
   LCD_WR_DATA8(0x1E);
   LCD_WR_DATA8(0x09);
   LCD_WR_DATA8(0x12);
   LCD_WR_DATA8(0x0B);
   LCD_WR_DATA8(0x50);
   LCD_WR_DATA8(0XBA);
   LCD_WR_DATA8(0x44);
   LCD_WR_DATA8(0x09);
   LCD_WR_DATA8(0x14);
   LCD_WR_DATA8(0x05);
   LCD_WR_DATA8(0x23);
   LCD_WR_DATA8(0x21);
   LCD_WR_DATA8(0x00);
   
   LCD_WR_REG(0XE1);    //Set Gamma
   LCD_WR_DATA8(0x00);
   LCD_WR_DATA8(0x19);
   LCD_WR_DATA8(0x19);
   LCD_WR_DATA8(0x00);
   LCD_WR_DATA8(0x12);
   LCD_WR_DATA8(0x07);
   LCD_WR_DATA8(0x2D);
   LCD_WR_DATA8(0x28);
   LCD_WR_DATA8(0x3F);
   LCD_WR_DATA8(0x02);
   LCD_WR_DATA8(0x0A);
   LCD_WR_DATA8(0x08);
   LCD_WR_DATA8(0x25);
   LCD_WR_DATA8(0x2D);
   LCD_WR_DATA8(0x0F);
   
   LCD_WR_REG(0x11);    //Exit Sleep
   delay_ms(120);
   LCD_WR_REG(0x29);    //Display on

   LCD_Clear(WHITE);
   

_________________
Господ прощава, тока не. А глада е по силен от тока !


Сря Юли 19, 2017 10:45 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 9:58 pm
Мнения: 284
Местоположение: Varna
Мнение Re: STM32 и TFT ориентация
Оправихме проблема. Оказа се в инициализацията:
Код:
LCD_WR_REG(0x36);    // Memory Access Control
LCD_WR_DATA8(0x08);

=====================================
Код:
LCD_WR_DATA8(0x08);   //ROTATE_0:
LCD_WR_DATA8(0x28);   //ROTATE_90:
LCD_WR_DATA8(0x88);   //ROTATE_180:
LCD_WR_DATA8(0xЕ8);   //ROTATE_270:

_________________
Господ прощава, тока не. А глада е по силен от тока !


Чет Юли 20, 2017 10:47 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 2 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни