Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Posted on March 02, 2018 at 22:32ST tells about STemWin implemented in CubeMX but whatever I try I cannot seem to get a STM32F103C8T6 project to have STemWin as middleware even though ILI9340 is among the LCD drivers inside the STemWin and STM32F103C8T6 has SPI that can be assigned.I am not interested in evaluation boards having LCD's.I possess an STM32F103C8T6 board.I possess an QVGA ILI9340 TFT board 240x320 resolution.Both are interconnectable: SPI. We know that.There's no way to 'import' STemWin_Library_V1.2.0 into CubeMX. I tried. CubeMX refuses to accept it.So, how can STemWin be part of the Middleware in the STM32F103C8T6 project inside CubeMX? It's ALWAYS empty.No dissuasive advice please. No Arduino solutions please. I work with Ac6 Eclipse also known asSW4STM32 as I can see what is going on.Solutions with the STM32F103C8T6 board (aka BluePill) and the QVGA ILI9340 TFT board and preparation with CubeMX. At last
Posted on March 02, 2018 at 11:28I am just starting my work with an STM32l496ZG nucleo board. I am using an ST7789V Display, which i want to connect via SPI1. CubeMX is configured to use SPI with DMA for TX, and the necessary interrupts.How should i configure the STemWin library for this purpose. Where can i enable the SPI part? Which files should i adjust and where? The instructions manuals are not giving enough information about this, and the examples are only given for stm32f4.#stemwin #spi #nucleo-l496
Posted on February 20, 2018 at 17:36I want graphic primitives like text on layer 2 to be superimposed on top of the image in layer 1. I want to do this will full alpha values of 255 for both layers.I wrote the text against a color I made transparent using the colorkeying function which works great. But layer 1 is still never exposed unless I blend the images. I thought using black as a default layer color made it transparent to layers below? So I thought all alpha=0 graphic elements on layer 2 would allow layer 1 to show fully, while alpha=255 graphic element on layer 2 would completely obscure layer 1?Can this be done? Does it require the use of the the Chrome-Art Accelerator? I've attached my config code.Thanks!hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; hltdc.Init.HorizontalSync = 47; hltdc.Init.VerticalSync = 2; hltdc.Init.Accu
Posted on December 28, 2017 at 06:51I've found an error in RM0367 revision 6 (STM32L0x3 Reference manual).Please see attachment. As you can see, the VLCD rail numbering in Table 74 does not match the Figure 70.CubeMX software (V4.23) also has a bug in Bias selector due to discrepancy in documentation.In case of 1/3 BIAS CubeMX configures PB0 and PB12 pins as VLCD rails instead of PB2 and PB12.In case of 1/2 BIAS CubeMX configures PB12 instead of PB2.#lcd #cubemx #stm32l0
Posted on February 15, 2018 at 16:44Hello AllMy Requirement as Below:Connect OV7670 Camera Module (Or Any Other Module with Support 640x480) with STM32F407VGT6(100Pins) and Get 640x480 Grayscale Image at Minimum 7 FPS Directly on Windows PC Through USB & Android Through OTGAs Per My Research i Found Below Things:- I Can Use DCMI To Connect Camera with STM32F407VGT6. Also i Have Some Example Of It.But Where i Stuck is - How to Transfer That Data To PC & Android Over USB? (Because in All Example There is USB To UART Used)- Which Interface Need Full Speed OR High Speed?Also I Want To Transfer That Data in Bulk Transfer Mode to PC- as Per My Knowledge Libusb Makes My Task Easy on PC & Android, But Confusion is How to Write Driver For MCU?- I See Example of HID, Custom HID, CDC But i Have Not Seen Any Example of Vendor Specific Class Driver For ST MCU- Is It Possilble to Modify HID,Custom HID, CDC Driver To Satisfy My Requirement?Lets Clear Also Some Things:- I dont want to sto
Posted on February 08, 2018 at 09:27im running emwin demo on stm32f429ig, but when gui config address start from sdram address hardfault happen.i can read and write on sdram separately. the board designed by myself.please help me what should i do?#stm32-f4 #stm32f4-ltdc #sdram #emwin
Posted on February 06, 2018 at 00:42Using the STM32F756. I have a full screen graphic on one layer and some text on another layer. I just need to update the text and not the whole screen. So, if I define the text layer size just big enough to cover the text, will that reduce the effective framebuffer size? That is, can I reduce the required frambuffer memory requirements by using a smaller layer or does the LTDC still require a full screen amount of contiguous memory to operate and just ignore values outside the layer?Thanks!#lcd #display #ltdc #tft
Posted on February 05, 2018 at 23:35https://community.st.com/tags♯/?tags=ltdc‌I know it would suck performance wise, but will the hardware do it?#tft #lcd #ltdc #graphics
Posted on January 28, 2018 at 18:09Hi, I'm trying to make the first and super basic program for the display on the STM32F429I DISCOVERY board. It is supposed to just to make the display blue when the the board is on.It is said in the schematic that the interface used between the STM32F429 and the display controller (the ILI9341 IC) is the 4-wire 8-bit serial I, SDA:In/Out interface. Reading the ILI9341's datasheet I found that in order to use the LTDC parallel interface it's necessary to be sent three command through this Half-Duplex SPI: RGB Interface Signal Control (B0h + 40), Pixel Format Set (3Ah + 66h) and Interface Control (F6h + {01h, 00h, 00h}). After that, I'm initializing the LTDC with the CubeMX generated code, which is suppose to make the screen blue. My code is as following: As you can see, I'm also setting and resetting the DCX pin, according to the ILI9341 datasheet, as weel as the CSX pin.All that said, here's the proble
Posted on January 31, 2018 at 00:24Hello everyone,I have a weird problem after upgrading to the latest ST board support package for STM32F4 - 1.19.0. My screens get blacked out/cut off by two thirds (see attached pictures)The screenshot above was taken when linking to STemWin 5.32This is how it looks when using STemWin 5.40.Within my project I replaced the library code under Middlewares/ST/STemWin and linked to the new object file STemWin540_CM4_OS_GCC_ot.a. My own DMA2D, LTDC, ili9341.c, GUIConf.c and LCDConf.c did not change.Any idea what might be going on?#stemwin-stm32f429
Posted on October 29, 2017 at 21:08Hi,As far as I understand I could use the nucelo board LTDC Display interface. It needs sufficient RAM for the frame buffer and a DMA2D, all this apparently without any CPU intervention. On the other the display is non interactive and would show only terminal messages. I could then use a SPI interface display which some also come with SD card reader integrated.Don't know maybe someone could advise from experience what would be more easier to go with and if so also recommend a display unit...?Thxx.#display #spi #stm32f429zi #ltdc
Posted on August 01, 2017 at 12:06Hi,I am using STM32F7-Discovery board. I've written my project in freeRTOS. The JPEG DMA encoding is implemented the same way as in HAL examples.Everything works fine until I will change freeRTOS heap size. In this case JPEG file size is much bigger than the 'correct one' and it is demaged.There is a preview in attachments:OK ONE - filesize [216KB]BAD ONE - filesize [318KB]Is a heap-size has an influence on DMA process? Did I forget about something?Thanks in advice.#dma #jpeg #encoding #freertos
Posted on January 14, 2018 at 05:42Hello,I am trying to use the STemWin 5.40 in the STM32F7Cube 1.8 pack with my F746-DISCO. The basic display works fine until I tried to display an .jpg image on the LCD. The original image is: While the display on the LCD is: I used the Memory device to store the code like this: /* My code begins */GUI_MEMDEV_Handle GUImem; BSP_SDRAM_Init(); /* Initializes the SDRAM device */ __HAL_RCC_CRC_CLK_ENABLE(); GUI_Init(); GUI_Clear(); GUI_SelectLayer(1); GUImem = GUI_MEMDEV_Create(0, 0, 480, 272); GUI_MEMDEV_Select(GUImem); GUI_JPEG_Draw(_acgundam1, sizeof(_acgundam1), 0, 0); GUI_DrawLine(0, 0, 99, 99); GUI_MEMDEV_Select(0); GUI_SelectLayer(0); GUI_MEMDEV_CopyToLCD(GUImem);/* My code ends */Can anyone gives me a hint or a way to fix this error? Or may be some references is fine too. Thank you very much!Duy#stm32f746-discovery #stemwin #stemwin-stm32f746discovery #stme32-cube #stm32f746-discovery
Posted on January 06, 2018 at 22:43Hi, I have onequestion.Is that possible to connect STM32F4DIS-LCD directly to STM32F407G Discovery board without expansion board?#stm32f407g #stm32f407g-disc1 #stm32f4dis-bb #touch-screen #stm32f4dis-lcd
Posted on November 25, 2016 at 12:27Hi guys,as far as I know, STemWin library requires the CRC module to by enabled before calling GUI_Init(), to verify that it's running on STM32 platform (mentioned on this forum).As I plan to use CRC module in my application, is it safe to use it after STemWin is initialized? I tried to disable CRC module immediately after GUI_Init() and STemWin works fine. I just want to be sure, that STemWin needs CRC only during init.Thank you in advance for any comments! #stemwin #crc #stm32l4
Posted on November 09, 2017 at 10:13Hello,Recently I've developed a graphical application on the STM32F746G discovery board. It displays gray-scale frames (400x400/8bpp/120Hz) from an image sensor.Firstly it worked fine while the frame buffer was located in local SRAM, but it went wrong after switching the frame buffer to external SDRAM. The DCMI DMA FIFO errors always occurred, however it was still able to work at this time.Then I changed the system clock from 216 MHz to 200 MHz to meet maximum SDRAM allowed speed (100 MHz). It went worse since The DCMI DMA transfer errors occurred and it stopped after about 1 second.There is no problem if the LTDC was turned off, so that's why I think it is a SDRAM concurrent access issue between DCMI and LTDC.I've read DCMI and LTDC related documents (AN5020 & AN4861) and tried to solve the issue by modifying their configurations, but still couldn't find a proper solution. Maybe possible workaro
Posted on December 25, 2017 at 15:52Hello All,I would like to understand the LCD Interfacing with the SPI Communications.Fo LCD,I Think it would be a one communication.I am using STMCUBEMXI am assigning few pins to the others like usb-Device n usb Host.Controller I am using : STM32F417IH6-176PINSin that case, for lcd interfacing it shows only the1)Half duplex Slave2)receive only masterin above case, will which option I will have to select to send the String to the LCD.Or do you have any idea.RegardsDeep#lcd-interfacing #stm32f417ih6 #spi-communication
Posted on December 24, 2017 at 20:43Hello,is it possible to use the FSMC (LCD 8080) and the FMC (SDRAM) together on an STM32F4?I want to drive an SDRAM and an LCD on the same address and data lines. Will there be any problems with this setup?#lcd #stm32f4-fmc #sdram #fsmc
Posted on December 17, 2017 at 11:13Hi,I am trying to interface 7' 800x480 TFT resistive touchscreen LCD based on SSD1963 using STM32F051R8T6( from the discovery). My aim is to write images onto an external NAND flash memory and read the images on to the LCD screen. The problem is the screen update rate(time required for screen fill) is very long about 3-5 seconds. I would like to have answers to my following queries:1) What is the next best economic ST microcontroller that can give decent performance for my application(not directly going for the high end ones)?2) What parameter of a microcontroller specs should be considered while selecting for GUI based applications?Thanks.#lcd #stm32 #nand #gui
Posted on December 07, 2017 at 07:52We encountered a problem with the ST’s MCU (STM32F767IGK6).Problem description:We are trying to read data from a camera sensor that is on our board (OV7740) connected to the STM32F7 DCMI port.The data is being read from the camera, however it is somewhat disrupted, for example a frame byte that should read 255 (decimal) is received as 252 (decimal) and so on( we are using the camera’s “test pattern� which sends predefined known data).The data is read from the camera and transferred using DMA from DCMI to external sram, 16 bit address, connected using FMC.Tests findings:During our extensive tests we narrowed the problem to either the DCMI port, or the DMA mechanism: Hardware verification: Verified on 2 separate boards, and also on ST’s evaluation kit STM32F769I-EVAL (the kit is connected to a header board of OV7740). (Note: the evaluation kit has different hardware design than our hardware, the SRAM is different, camera is conne
Posted on November 30, 2017 at 16:45Hi All ,I am using stm32f4 Discovery board and after I wakeup from standby mode ,everything works as expected except the LCD ,it only shows a white background and doesn't change .I will start checking SDRAM first, but just checking if this is a known issue ?
Posted on September 30, 2017 at 11:02Test Nucleo board,(SPI_FullDuplex_ComPolling) I tried to modify SPI example code to drive LCD,But I have no idea how to send 9bit data ,I found data size setting, SPI_DATASIZE_9BIT?Clk send 9bit clock, but data all wrong,How to correctly send data ?#lcd #stm32 #spi #hal_spi_transmitreceive #9bit
Posted on November 29, 2017 at 18:15Hi.I want to make an analog monitor with tvp5150am1 and I have a few questions.Can I connect TVP5150AM1 to DMA2D?I found &sharpdefine DMA2D_INPUT_YCBCR in the code, but in CubeMX no, what does that mean?Can I do without an outside SDRAM? (Display 800x480).Any advice?#dma2d #display #camera #stm32h7
Posted on December 02, 2017 at 13:54 Hi everyone! I want to connect 2' OpenSmart TFT LCD display (Image: http://img.dxcdn.com/productimages/sku_467508_1.jpg) with a touchscreen on STM32F411RE. Display characteristics are: - Driver IC: ILI9225 - Touchscreen type: resistive touchscreen. - Resolution: 176X220, 16-bit (262,000) color - Logic level: 3.3V; Display datasheet: http://www.hpinfotech.ro/ILI9225B.pdf Connections made: DISPLAY STM GNDGND +3.3V +3.3V CSD0 RSD1 WRD2 RDD3 RST D4 LEDGND DB0A0 DB1 A1 DB2A2 DB3 A3 DB4A4 DB5 A5 DB6 A6 DB7 A7 Part of my code and how it's work void writeDataLines(uint8_t value) { DB0_GPIO->ODR = value; mWR_LOW mWR_HIGH }�?�?�?�?�?�?�?�?�?�?�?�? uint32_t readDataLines() { mRD_LOW mRD_HIGH return DB0_GPIO->IDR & 0x00FF; } uint16_t ILI9225_ReadRegister(uint8_t reg) { uint8_t reg_h=0,reg_l=0; uint16_t result=0; mRS_LOW mCS_LOW //Send register higher and lower byte writeDataLines(0x00); writeDataLines(
Posted on November 29, 2017 at 11:50I'm trying to set up the LCD interfacing demo from AN2790 on an STM32F417, and have a couple of questions about the FSMC interface configuration:1. On page 17, ADDSET and DATAST are configured for a cycle time of 100ns. This should work for write access, but violates the longer cycle time of 300ns required for read access. The reason given for this is that 'we only write to the LCD', but in the source code there are also some read accesses. E.g. on line 67 of stm3210e_lcd.c /* Check if the LCD is SPFD5408B Controller */ if(LCD_ReadReg(0x00) == 0x5408)The code doesn't seem to be using different timings for read and write. Is it just relying on the LCD controller tolerating incorrect read timings, or is there something else I'm missing?2. Page 14 saysUsually, ModeB is used for LCD interfacing (so the extended mode is not used)This agrees with the code, which disables extended mode and sets bank 1 to access mode B:p.FSMC_AccessMode = FSMC_A
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.