Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Posted on August 28, 2015 at 10:57Hi STM32 Users,I would like to request your help in the following problem. I am using STM32F427VG and HX8357D with FMC controller in 16 bit mode RGB565. I successfully integrated the STemWin library with STM32Cube_FW_F4_V1.7.0. RED and BLUE color were swapped but after using GUICC_M565 it is solved. in LCDConf_FlexColor_Template.c at function void LCD_X_Config(void)...pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);...GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16);...The problem is with the anti-aliased circles (maybe other polygons are involved too). The colors which are used by the library is not correct. Look at the picture: there are Red green and blue circles on red green and blue rectangles. I think the red circle on red background shouldn't be seen. Attached the picturehttps://goo.gl/photos/cq1wQaMWtXFFPwEo9Any help would be appreciatedThank you in a
Posted on August 17, 2015 at 07:59Hi.I had worked with sm32f429 interfaced with SSD1963 controller to drive TFT, for now TFT work good. but it seems and checked if I come on one page and than go to another page and than repeat this process again and again its been seen that after few pages switching ~50 controller pointer get stuck now nothing will happen unless I reset controller.If anyone got some thing on this plz let me know. #discovery #stm32f429 #lcd-tft
Posted on July 25, 2015 at 19:39I am new to ARM and I really want to learn about it. I have the STM32F429ZI discovery board and I have decided to use gcc with Coocox IDE.I tried to port one of the sample project, STemWin_HelloWorld, that accompanies the STM32Cube software (version STM32Cube_FW_F4_V1.6.0). I managed to get the project to compile, link then generate the executable file, but when I run it on the board it hits the famous ''Hard Fault'' exception. I debugged and found out that the problem occurs when the following method is called:HAL_DMA_DeInit(&dmaHandle);This method is located on line 384 of the stm32f429i_discovery_sdram.c file. I have no idea why this problem is happening. I have tested the same project with the same files on EWARM and it works perfectly but no luck to make it work on Coocox IDE. I suspect it might be a problem with the linker file but like I said am new to ARM and I don't know much about the architecture.I don't know if anyone has tri
Posted on July 23, 2015 at 23:51I would humbe ask what is behind WM_SetCreateFlags(WM_CF_MEMDEV) ? Trying to write a very easy application based on example ''STemWin_HelloWord'' with a couple of buttons only I can put any widget to main window ( WM_HBKWIN) OK. When I am trying to create another window and put there some widgets I am getting a mess only. When I don't use a flag WM_CF_MEMDEV, everything is OK. Any suggestions? Regards Igor #stemwin-stm32f746discovery
Posted on July 17, 2015 at 08:58Hi, I'm new with the STM32 MCU and I have a problem on my custom board that I can not solve: the system is an STM32F429ZI with SDRAM and a display, like the STM32F4DIscovery. I work with IAR and I made a little test firmware: the display show an image and then I call the GUI_Init() of STemWin. Here the code:GUI_Init();//// Call creation function for the dialog//hDlg = CreateWindow0();WM_Exec();while(1){...Gui_Exec();...}I used the GUIBuilder to make a GUI with 3 buttons in a window.Every 100ms there is a check of the touchscreen and it sends the information with the GUI_TOUCH_StoreStateEx(). At this point, the system works: touchscreen, the buttons... but I want change the graphic and use the FlexSkin so after the Gui_Init() I send BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX).It seems to work but after some pressions of the buttons and some touches in the free zones (sometimes after 1 touch and sometimes after 5+..) the MCU is blocked in Hard Fault
Posted on July 07, 2015 at 16:53Hello,I started using STM32F4DIS-BB and DIS-CAM module with STM32F4Discovery board. Examples found on web displays camera image on LCD through DMA transfer. But in my project, I will not use LCD. 320x240 pixel image consumes 150kb RAM, it is a big problem. To overcome this issue, i would like to read image partially ( maybe line by line) and store it on SD card. Is this possible? How can i request image as lines from DMA?Sorry, i am a beginner. I need your help.Thank you #dcmi-stm32f4discovery-st-camera
Posted on June 30, 2015 at 16:02Hello,I'm using stemwin 5.26 on STM32F429IIT6 using LCD controller and freertos. my display is 1024 x 600. I started to implement some simple windows, but I see that refresh of the window causes a visible frame corruption. I made and attached a small video to explain clearly the issue.I saw that using only on later (GUI_NUM_LAYERS 1) seems to cancel the issue. I cannot focus if the problem is in the ltdc configuration, dma2d config or STemWin libs.Here code snippets of what I have in the program.main(){ /*** [.....] ****/ /* Initialize GUI */ GUI_Init(); osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); osThreadDef(GUI_Thread, GUIThread, osPriorityLow, 0, 20 * configMINIMAL_STACK_SIZE); osThreadCreate(osThread(GUI_Thread), NULL); /* Start scheduler */ osKernelStart();}
Posted on July 03, 2015 at 10:05I download the STM32CubeF1 package and compiled the stemwin hello world demo. It is works fine, everything is ok, but I turn on the i2c1 with HAL driver and connect to LM75 temperature sensor. If I put the i2c1 init and temp read after the gui init, its not working. I2c1 is stopped, and exit with timeout everytime. If I put the i2c1 init and temp read before the gui init, its work fine, the result is ok, but If I put the temp read after the gui init, is not working. The i2c2 is working everytime and everywhere.My hardware is ok, i2c1 is working without stemwin everytime.I was unable to find anything useful by googling. Thanks in advance for any help and sorry for my english #stemwin-cube
Posted on July 01, 2015 at 23:00 Hello, I'm facing with very strange problem using STemWin library. I don't know if this is problem on my side, on STemWin (ST) side or directly from Segger, so I'm asking here first. What's my idea. I have a graph with (for now) one curve on it and I'm trying to update it every 100ms. On STM32F429-Discovery using driver provided from ST I see flickering and my idea is that LCD shows LTDC layer 2, but EMWIN draws everything on layer1 on LCD which is hidden. Then, after each emwin operation is done, I would copy content from layer1 (EMWIN drawing layer) to layer2 (user visible layer) to avoid flickering. It works what I wanna do, but no in a way I wanna do. My idea is, to copy layers only if there were pending tasks done with emwin using GUI_Exec function. According to the emWin documentation, GUI_Exec returns 1 if there were tasks to do. So when GUI_Exec() returns non-zero value, I would then also copy layer1 to layer2.
Posted on June 15, 2015 at 16:33Dear Forumers,Can you help me, how to control a 4x18 (com x seg; direck control) costum design LCD?I searched a lot, but i found mostly graphical LCD-s.Maybe an example?Thanks! #segment-lcd #the-stm32l0-series-embeds-the-sa
Posted on June 16, 2015 at 14:26Is it possible to use internal RAM as a frame buffer for LTDC?Where exactly in std lib examples are external RAM and LTDC connected? It seems to me that the code is written on SDRAM address but I cannot find any DMA/DMA2D initialization for sending data from SDRAM to LTDC controller.Thank you! #!stm32f4-disco #!stm32f4-disco #sdram #sdram #ltdc
Posted on June 09, 2015 at 06:58Hello, I am working with stm32f429 using with a ov7670 camera with the dcmi using dma. It works fine if I do a capture into sram. I have also successfully initialized and tested the 8mb sdram @ 0xD0000000. What I would like to do is capture the image directly into sdram @ 0xD0000000. However, I am having issues with this. When I call HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, (uint32_t) 0xD0000000,38400/4) (**I understand this image isn't large, but I would like to do larger, so need sdram). I read the buffer after the capture is done, looks like the 1st word is transferred, but the rest of frame is not present. Is this due to the code handling not incrementing the sdram address properly? I suppose I could do the dma transfer to sram and use the line interrupt to transfer to sdram, but I would like to a direct transfer to 0xD0000000 if possible, if anybody could provide guidance, I would appreciate it. I example in a peripheral lib or cube
Posted on June 04, 2015 at 16:21Hello On page 18 of the http://www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/DM00118914.pdfof the F469 MCU it is witten this about the DSI interface speed:Maximum speed per lane: 500Mbps1Gbps Well, finally, is it 500Mbps or 1Gbps per lane? :D Thanks #stm32f469-dsi
Posted on May 07, 2015 at 17:43Hi ---I'm adapting working code from the STM32F407 Discovery platform to a custom board using the STM32F437. The process has been going well but I am having a problem with the DCMI. The control (I2C) channel works fine and I can read/write camera registers. In hardware I can see the HSYNC, VSYNC, PCLK, and data lines toggling correctly. I can also see these pins moving in the debugger. However, the DCMI controller never reports a LINE_RIS nor VSYNC_RIS raw interrupt (as it does on the STM32F407).The HCLK is 144 MHz for both boards and is much faster than the camera's PCLK.I've check the AF setting (all the DCMI pins are using AF13). In may be important to know that I'm using PH8 for HSYNC, PI5 for VSYNC, and PA6 for VCLK. These are different pins than are used for the STM32F407.I noticed in the datasheet for the STM32F437 that the HSYNC and VSYNC are available on multiple pins. Is it correct to assume that I can use any of these and t
Posted on May 23, 2015 at 15:21 Hi, I have a framebuffer at addr ''FB'' and a image at addr ''IM'', I want to add the image to the framebuffer with alpha blending, eg, FB=FB+IM. All images is in ARGB8888 I currenyly do this: DMA2D_BG_InitTypeDef dma2d_bg_structure_init; DMA2D_BG_StructInit(&dma2d_bg_structure_init); dma2d_bg_structure_init.DMA2D_BGCM=CM_ARGB8888; dma2d_bg_structure_init.DMA2D_BGCMAR=0; dma2d_bg_structure_init.DMA2D_BGMA=FB; dma2d_bg_structure_init.DMA2D_BGO=0; dma2d_bg_structure_init.DMA2D_BGPFC_ALPHA_MODE=NO_MODIF_ALPHA_VALUE; dma2d_bg_structure_init.DMA2D_BGPFC_ALPHA_VALUE=127; DMA2D_BGConfig(&dma2d_bg_structure_init); DMA2D_InitTypeDef dma2d_init_structure; DMA2D_StructInit(&dma2d_init_structure); dma2d_init_structure.DMA2D_Mode=DMA2D_M2M_BLEND; dma2d_init_structure.DMA2D_CMode=DMA2D_ARGB8888; dma2d_init_structure.DMA2D_NumberOfLine=image->height; dma2d_init_structure.DMA2D_OutputMemoryAdd=FB; dma2d_init_structure.DMA2D_OutputOffset=LCD_PI
Posted on May 13, 2015 at 01:17Hi,I have an application where I configure a OV7670 camera by SCCB bus (Omnivision thing) emulated by I2C...I used this sucessfully for couple of months but yesterday I disassembled the PCB that I have made for that application and made some changes that arent related to the SCCB. After I put the PCB back with the kit the configuration that I have used for a few months stopped working...The function that I use is listed below...It gets stuck at while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))...But the strangest thing that if I unplug the camera and connect all the pins through 20cm cable then the configuration works again. I found that out by testing if the module works at all. Simply if I add 20cm of cable (no pins were swapped) then it works again...I think it has something to do with the interference comming from DCMI but shouldnt the cables make it even worse?I have no rational explanation...Thanks very much for help...uint8_
Posted on April 13, 2015 at 23:39 I have a popup dialog that I load for some text entry. If I make it modal, the dialog procedure no longer gets 'pen up' events. If it is not modal, the user can interact with other things on the screen behind the dialog. This dialog (built with the GUI builder) is meant to support data entry and with no pen up events, the last touched button remains active until a different button is pressed. Not only does this look crappy but it becomes impossible to enter double letter combinations. Below is the entire code for this example which consists of the beginnings of a QWERTY keyboard. (QWER only supported for now. ;) ) Is there a way to get full functionality for a Modal dialogue? Other suggestions for resolving this welcome! (Should I send my ownWM_NOTIFICATION_RELEASED events?) Thanks! /********************************************************************* * * * SEGGER Microcontroller GmbH & Co. KG * * Solutions for real time micr
Posted on March 31, 2015 at 20:32Hi! I have a simple yet hard problem. As is known, the STM32F429I discovery line has on board mainly ili9341 tft lcd. The job is to work with OV7670 camera through DCMI and with ili9341 through LTDC. But there is problem with pinout function availibility - mainly the PA4 pin. According to http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00093903.pdf (page 22) PA4 pin is physically connected to ''VSYNC'' with ili9341 lcd - OK, no problem. But PA4 pin (according to http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00071990.pdf - page 56) as only one in this packet has there ''DCMI_HSYNC'' functionality. So this mean that I can't use DCMI controller and on-board ili9341 lcd at the same time? Separately I have communication with both parts but there is problem to work together because of pins conflict. Please give some hints how to overcome this problem..http://www.sciencezero.org/i
Posted on April 12, 2015 at 11:16I have an ILI9325 TFT LCD connected to an F417IGT6 via FSMC Bank 1, Region 1, using 16-bits.The ILI9325 has an 8080-style interface, and FSMC A25 has been selected to drive register select as per AN2790 Figure 3 for 176-pin devices.I calculated A25 offset to be 0x2000000 from Bank 1 Region 1 start address (which according to RM0090 is at 0x60000000), giving 0x62000000.At this address I am not seeing anything on the logic analyser. A25 is PG14 on the 417IGT6 and if set to output push pull, can be driven successfully, proven by inspection with the logic analyser again, ruling out a hardware issue.When I configure the FSMC with A16 or A19, all is fine as well and the LCD works perfectly, proving the the remainder of the FSMC setup is correct.Clive and Andy Brown's posts elsewhere on this forum, along with a broader search on Google and inspection of the working addresses for A16 and A19, lead me to suspect that the A25 address might actually be
Posted on April 01, 2015 at 19:45Good day, i'm new in using the *c STM32F4 i try to send data from DCMI to HOST(PC) via USB VCP but i nedd some help !! #stm-32f4-vcp-usb-dcmi
Posted on April 10, 2015 at 16:52 I'm using STM32F407ZGT6 with SSD1963 LCD controller and 800x480 TFT panel. I'm not using OS. It's working with STemWin. But when I used any interrupt, code execution stops at somewhere in emWin. I moved WM_Exec() (GUI refresh function) to a timer interrupt routine and I disabled the interrupt before and enabled the interrupt after emWin functions. The code is working in this form. //Main loop while(1) { _Disable_Timer_Interrupt GUI_EndDialog(hWin, 0); //Delete GUI DIALOG _Enable_Timer_Interrupt HAL_Delay(500); _Disable_Timer_Interrupt hWin = CreateFramewin(); //Draw GUI DIALOG _Enable_Timer_Interrupt HAL_Delay(500); } //Timer Interrupt Routine void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim->Instance == TIM13) { HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_8); WM_Exec(); } } I added EXTI and the code didn't work again. enable-disable interrupt before-after didn't
Posted on March 19, 2015 at 15:17Hi,I would like to ask if anyone has successfully changed the setting of the ILI9341 driver to little endian...I have data in this format but in default I have to send over SPI high byte first and low byte after that...I need it to be the other way around...From data sheet http://www.newhavendisplay.com/app_notes/ILI9341.pdf I am convinced that the configuration should be something like this but it doesn't work...thanks for help...&sharpdefine ILI9341_RGB_INTERFACE 0xB0&sharpdefine ILI9341_PIXEL_FORMAT 0x3A&sharpdefine ILI9341_INTERFACE 0xF6LCD_ILI9341_SendCommand(ILI9341_PIXEL_FORMAT);LCD_ILI9341_SendData(0x55);LCD_ILI9341_SendCommand(ILI9341_INTERFACE);LCD_ILI9341_SendData(0x01);LCD_ILI9341_SendData(0x00);LCD_ILI9341_SendData(0x20);LCD_ILI9341_SendCommand(ILI9341_RGB_INTERFACE);LCD_ILI9341_SendData(0x40); #lcd #ili9341 #endian #32f429
Posted on March 21, 2015 at 22:11Hello! First of all there is worth to mention that I have successful communication with OV7670 camera on STM32F407VG Discovery and I getting QCIF format picture in YCbCr format and sending it via USB to computer as virtual port to display image in Matlab function then. For now I can hold 2x QCIF images in YCrCr format which occupies little more than 100kB of memory. My problem is that, I want get only grey format data so that I would store 4x QCIF images using the same memory space, but using only DMA configuration without CPU intervention. According to camera datasheet there is no configuration to get grey scale directly. So I've got grey scale by taking only Luma 'Y' component (which in fact is grey color) and then skipping Chroma 'Cb' and 'Cr' in Matlab which are interleaved in DCMI FIFO as below: DCMI controller sent request to DMA when it has full 32-bit one register (it has 4-deep FIFO), so there is no opportuinity to get DMA
Posted on March 11, 2015 at 21:16Hi, i'm looking for working LCD library for ks0108/s6b0108.All what i tested wasn't working well. Can someone help me? #ks0108 #stm32f4 #lcd #stm #lcd-l
Posted on March 05, 2015 at 12:17HelloI am trying to use the STemWin library as a VNC server with a STM32F429 microcontroller.It works fine as long as I use a VNC client running on windows, for example UltraVNC.I have tested several VNC clients for iOS (iPhone) and none of them worked. Most fail during the initial protocol negotiation. Mocha VNC Lite starts loading the first page and hangs in the middle.Fabio #stm32f429-stemwin-vnc
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.