Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi Everyone, I wanted to add a audio codec with stm32U585aii6Q can anyone share he reference or guide how can it be done. Thanks Regards Sakshi
Hello,I am working with STM32H745 (dual core Cortex-M7 and Cortex-M4) and I am trying to understand the correct and supported way to stop and then restart the M4 core from the M7 core using software only, without resetting the whole chip.My goal is to implement a core-local watchdog mechanism where the M7 core keeps running and supervises the M4 core. If the M4 gets stuck or stops responding, the M7 should be able to stop or reset the M4 and then start it again cleanly.I have read the reference manual and found the following:SYSRESETREQ via AIRCR triggers a full system reset, so it is not suitable for this use case.Disabling RCC clocks does not actually stop the Cortex-M4 core execution.HAL_PWREx_ReleaseCore(PWR_CORE_CPU2) only releases CPU2 from the HOLD state and does not reset or stop a running M4 core.I found the MP_GRSTCSETR register and the M4 reset bit mentioned in some discussions, but the CMSIS and HAL naming is confusing and it is not fully clear whether this is the recommend
Hello, everyone on the forum. I am using ThreadX and FileX to write files to an SD card on the STMH735G-DK. I successfully created a directory using fx_directory_create and created a file using fx_file_create. This time, we'll tackle directory deletion using fx_directory_delete. However, if the directory contains files, deletion will fail with error code FX_DIR_NOT_EMPTY. How can I search for filenames within a directory using FileX? If anyone knows anything, please give me some advice.
Hello everyone, I am working on a project related to CAN communication, and I don't have complete knowledge about the RTR Remote and RTR DATA features within CAN. Should I use RTR Remote in a complex system?
Hi there,My team has designed a dual motor control board, and I'm responsible for spinning the motors.I have already added the board to MCSDK6 and generated the project without error.However, when I add the code like MC_StartMotor1() after initialization, both the motors are static.I don't know the reason why the motor can't spin.Find the board file and the schematic in the attachments.Can someone help me double-check if I did something wrong?Thanks for your help. May you have a goooood day!
Hi There,So, I got some of the STM32C011J6 MCUs for my simple project of reading sensors data and generating an interrupt.But I am in a dilemma, that the MCU's has I2C Pins, SWD Pins for programming, GPIO pins to act as interrupt but how to initialize it in CUBEMX.I am planning to build PCB after I successfully assign pins in CUBEMX.When I choose I2C, It blocks the SWD Pins and Vice versa. Also, is External Crystal necessary for such MCU? Looking forward to most of the suggestions and resources.My plan is to read a sensor data via I2C and generate interrupt on a GPIO Pin.
Been reading thru the F103 datasheet to try and figure out why my TinyUSB based code isn't working. The datasheet says.. "For mono-directional/single-buffer endpoints, a single register can be used to implement two distinct endpoints". The F103 has 8 physical endpoint registers. There are no flags in those registers to set mono or bidirectional mode. Each register only holds one EP address value. My application requires creating EP0 (IN+OUT) + 4 * (Bulk IN+Bulk OUT+Interrupt In)=2+4*(1+1+1)= 14 EP addresses in total. The datasheet continues on to say "The number of registers is 8, allowing up to 16 mono-directional/single-buffer or up to 7 double-buffer endpoints(a) in any combination. For example the USB peripheral can be programmed to have 4 double buffer endpoints and 8 single-buffer/mono-directional endpoints." So how can you get 14 EP addresses into 8 endpoint registers?
(MCU running, requires power cycle) I am trying to configure an 8080 16-bit parallel LCD using FMC on an STM32H5563 development board, but it is inconsistent and unstable. I am getting a logic analyzer and will be able to provide screenshots of the signals in a bit. Tutorials I have referenced:Phil's LabControllerstechNick Nagy GitHub Tutorial Issue:My test code initializes the display and then alternates filling the entire screen between red and white.For the display to show anything at all, I must perform a full power cycle (physically unplug and re-apply power). Toggling the LCD RESET pin or following the reset sequence from the datasheet does not reset the display.Once reset, on the first draw or two, only about 3/4 of the display is updated then begins updating the full screen correctly. After a few seconds the display freezes, stopping on either red or white. MCU does not freeze, the display just stops updating (tested by including a LED toggle in the loop).So
I am trying to get my own DSI and LTDC code to run on STM32H757I-EVAL in preparation for custom hardware. In parallel, I am trying to get the example code to run (see this thread).I've made some progress with my own code by reading AN4860 and following the steps "34.14 Programming procedure" in RM0399. I copied OTM8009A_init() from TouchGFX example code and adapted it to my code. I can successfully configure the panel and sending panel on/off commands has the desired effect.When I step over OTM8009A_init(), the display shows blocks of noise (see image below). As soon as LTDCEN is set in LTDC_GCR, all LTDC register values change to 0x2220. Is this normal?It never seems to read from my RAM buffer, and I never get anything else on the screen. I also find it strange that if the code is stopped just after CMCR is cleared, then the noise is not on the screen.I've read many forums of DSI and LTDC issues, and clock timing seems to be one of the biggest culprits but I've double-
Hello,I would like clarification on the behaviour of STM32U3 devices when Readout Protection (RDP) Level 1 is enabled.Configuration:TrustZone: DisabledDebug interface: SWD/JTAGQuestions:With RDP Level 1, is Flash completely unreadable by any third-party tool or by any boot mode (system memory boot, RAM boot, etc.), except when accessed by application code running on the MCU?With RDP Level 1, is application debugging still supported (attach debugger, halt, step, breakpoints), and are there any known limitations compared to RDP Level 0?Any confirmation or documentation reference would be appreciated.Thank you,Vijay
Hello, I'm working into writing firmware image to a STM32H7A3AII6Q via internal boot-loader. I'm using AN2606 and AN3155 as reference documents. The boot-loader entry sequence I'm using:State 1: BOOT0: high RST: lowState 2: Wait 200 msState 3: BOOT0: high RST: highThen I'm sending 0x7F over USART2 but, getting no response(0x79).Can you please help me what might be wrong here?
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code and a linker script content. Please read this post: How to insert source code. Hello, I ran into a very strange problem with a STM32H743 that I don't understand. I have the following config sequence: MX_ADC1_Init() -> generated by CubeMX MX_ADC2_Int() -> generated by CubeMX HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED) HAL_ADCEx_Calibration_Start(&hadc2, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED) The MX_ADC1_Init() contains the following generated code: multimode.Mode = ADC_DUALMODE_REGSIMULT; multimode.DualModeData = ADC_DUALMODEDATAFORMAT_DISABLED; multimode.TwoSamplingDelay = ADC_TWOSAMPLINGDELAY_1CYCLE; if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK) { Error_Handler(); } This worked without a problem on all my boards so far and I was able
Hello, I want to use the STM32 H723ZG Nucleo board 144p in my LoRaWAN project. For that, I need my microcontroller to consume less than 10uA of current in standby or sleep mode. Is that achievable? If yes, then,1- What will be the hardware?2- clock configurations?3- What will be the configurations in the IOC file?4- How can I not give power to the Ethernet port?or if there is anything else i need to keep in mind.
Hi ST Team,We are using CAN on STM32L562 in classic mode.After configuring, we se FDCAN.PSR.ACT to be 1 as can be seen in screenshot below.This means, node is neither receiver nor transmitter.Why is this happening ? We are able to receive the data, but the CAN controller does not send the ACK when a frame is received which results in retransmission of the frame from the transmitting node.Tried configuration:hfdcan1.Init.AutoRetransmission = ENABLE;hfdcan1.Init.StdFiltersNbr = 1;Yet ACT bits in FDCAN1->PSR becomes '0x1' when the instruction "CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT);" is executed (i.e. while leaving the initialization).It can be seen in the screenshot below.Please find the below attached screenshots.
Hello guys,for my bachelors project I have decided to build an embedded signal monitoring and classification tool, based on the STM32H7S3L8 Nucleo dev board (NUCLEO H7S3L8). I want to use all 14 available channels of the 2 adcs (technically each ADC has 14, but then pin assignments are shared, which is not beneficial) and i want to let the ADCs stream the data via HPDMA in the SDRAM. Unfortioutly I came across many problems with the configuration and programming, especially with clock configuration of the ADC+DMA in the scanning mode. Do some of you already have a working solution to the DMA placement in SDRAM (0x300000 32kB I believe) and with working ADCs you would like to share. Also, do you enable callbacks in that case?Usually I would share my config and code and ask for help to the specific problem, but as I am not at home and already lost my mind with this ******* DMA I might try it that way.Thanks so much and happy holidays !
this topic is rare,and i cant find a system learning information,can st develeper friends tell us how to use this peripherals, link to ADC DMA......
VL53L4CD In this sensor how to use it stm32G071RBt6 controller, maximum how many device can connect?
Hello everybody.I bought Riverdi STM32 Embedded Display RVT121HVSNWC00-BI create my first project using touch GFX.I generate code and import it in STM32CubeIDE.I format FAT32 a 128G uSD using custom program.I plug the uSD into adapter and I write this code.fresult is FS_NOT_READY and I don't understand the reason. Here my configuration. I notice in the main that there is FATFS initializationbut I don't find a call to MX_SDMMC1_SD_Init.If I force this call after FATFS initlization the code run in ErrorHandler, but if I inpect hsd1.SdCard struct I see that card property are read correctly (I believe).BlockSize x BlockNbr = 128G !! OK Can someone help me ?Thanks in advice
Hi there,I have a motor support both encoder signals(ABZ) and hall signals(ABC) output.But I checked the DEV Kit and the examples of MCSDK6. Most examples use only one of the position feedback sensors.And for the MCSDK6 project, I can only configure the encoder and hall signal as a timer input. However, I DIY board can only support TIMER for the encoder and GPIO for the hall.I am asking for help on how to configure the project so that I can use both the encoder and the hall sensor in the motor with my DIY board.(I found a document named "Generation and use of Hall correspondence Table.pdf" by ST in Chinese. But I can't understand some details in this file. Is there anything more that can help me to understand this?)Thank you for your help!
I am experiencing quite a weird behavior on my STM32F429I-DISCOVERY board when trying to use SDIO module: If I use SDIO (1 wire) without DMA, it works fine, writes and reads. Also works in combination with my main application (TouchGFX, ADCs+DMA, 1 FreeRTOS task - besides TouchGFX and USBH task, USB OTG Host). However, if i configure my SDIO to work with DMA2 (Stream3 (TX) - Stream6 (RX)), it does write what i want, but it fails to trigger the DMA Interrupt at the end, leading to a DMA Error Flag being set and no Interrupt at end of transmission being triggered.So I've created a test-code right after all MX_...Init(); initialization functions, but before osKernelInitialize() and also before FreeRTOS task even get created. Same behavior: SDIO works, SDIO+DMA doesnt. Then, it comes the surprise: if I comment MX_TouchGFX_Init();, then it does work. I thought it could be some timing issue or configuration being messed up, but changing orders didnt solve.Then I realize the following: c
Question moved from this KB. Thank you! It works perfect! While we're on the subject, are there any examples of OpenAmp where both cores enable RTOS? I've been racking my brain for days trying to get them to communicate.
I am working in a project with a STM32WB microcontroller, and I want to print the STM32_WPAN firmware version, but I am unable to programmatically get that info.Any idea about how to know the used version?
Good days at all. I need to start a project and I'm unsure which path to take: I'd like to create an application that requires some tasks to run in parallel and some to run at different times. I've used timers as interrupts in the past, so as soon as a timer reaches its end, I can execute tasks. Now I know I can also use tasks using FreeRTOS, and as I've seen in general, it seems that each declared task has settable delays. My question is this: when working with multiple tasks, is it better to use FreeRTOS or the interrupts of the various timers available? Another question: are the delays that can be set in the cycles within the tasks precise? From what I understand, I believe that both the timer and the FreeRTOS task are non-blocking activities for the processor, which can then perform other tasks without being "blocking." Thanks in advance.
I have a stable BLE application on STM32WB55RG. The application uses a Custom Template, has one service one characteristic for notification only, and uses Public Address for Advertising. I send the notifications to Central with an interval of 100msec, triggered by a Timer. The Wireless Stack was generated with STM32WBCubeFW V1.22.1 under CubeMX 6.14.1. Everything is fine in STM32WB55RG. But after migration to STM32WB5MMG, with absolutely the same related to Wireless stack parameters, it works only advertising. Connections always fail! Any suggestions?
Can we interface the Raspberry Pi camera with the STM32 that has a camera interface feature?
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.