Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi all.I am using printf() in my USB-CDC VCP based stm32cubeide project, for printing the messages via USB to the serial terminal. But it prints only once in CDC_ReceiveCallBack () function and then i do not see other messages printed. In fact in while loop (in main function), i get all printf function results (all messages getting printed on serial terminal).Moreover, I tried to use flush function - fflush(stdout) after printf() function, but the result is the same..May be i did not use it properly.?Can anyone please help me out for this. ?Many thanks in advance,
If this thread was not read only i would bring it to life again. @Jocelyn RICARD @EEdwa.1 @Bubbles @Arno1 @Denish_Ribadiya @cyril After succesfull compiling (NUCLEO-G474RE) SBSFU and uploading UserApp troguh (TERATERM) \en.x-cube-sbsfu-v2-7-0\STM32CubeExpansion_SBSFU_V2.7.0\Projects\NUCLEO-G474RE\Applications\2_Images I decided time to do the same in linux, the issue is teraterm doesnt work for linux.Trying to use minicom:Adding the simbol for minicom special compilation and recompiling SBSFUinstalling minicom sudo apt install minicom Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: lrzszminicom uses by default YMODEM lrzsz implementationThe FW update is VERY SLOW (for only 24K) and ends up with incomplete half update: full update, it says incomplete: and the SBSFU console says FW too big======================================
I am trying to run a custom board using MCSDK micro STM32G4 series, using cube monitor took the waveforms i have queries on the waveforms pls help me if they are correct or abnormala. Phase currents are not correct, i am not sure why are not overlapping, i mean 120 phase shifted.b. CntPhA, CntPhB, CntPhC look to be ok for me but the problem i am observing is the duty cycle is going upto 5000 i have set the system at 15Khz hence the max count is 5666, does it mean it already got saturated, i am running the motor at 26V the motor is run at 60V in the vehicle.Vq graph c. Vq also going upto 25000.d. /*** Noise parameters ***/#define TNOISE_NS 500#define TRISE_NS 200i have never measured the above values on the scope including the Dead Time for my system, is it mandatory to measure the above values and input to the system.
I am setting up my first m55 STM32 project using the NUCLEO-N657X0 dev board with the CMSIS DSP libraries. I have copied the CMSIS DSP libraries into my project and I have added the CMSIS-DSP include paths into my project, but I am receiving the following build error message, arm_vec_fft.h: error: incompatible types when assigning to type 'uint32x4_t' from type 'int32x4_t'Can you please provide a recommendation to resolve this error? Thank you.
Dear all; I have a *** question but it dont work can we have quantity 2 different i2c bus 1 is reconized but not the second bus /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LTDC_Init(); MX_QUADSPI_Init(); MX_FMC_Init(); MX_I2C2_Init(); MX_I2C4_Init(); MX_SPI1_Init(); MX_UART4_Init(); MX_USART1_UART_Init(); MX_TIM3_Init(); MX_DMA2D_Init(); /* USER CODE BEGIN 2 */ int P=10000; HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_4); //htim3.Instance->CCR1=50; __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_4, P); HAL_StatusTypeDef result; uint8_t i; for (i=1; i<128; i++) { /* * the HAL wants a left aligned i2c address * &hi2c1 is the handle * (uint16_t)(i<<1) is the i2c address left aligned * retries 2 * timeout 2*/ //ret = HAL_I2C_IsDeviceReady(&hi2c2, (uint16_t)(i<<1), 3, 5); result = HAL_I2C_IsDeviceReady(&hi2c2, (uint16_t)(i<<1), 3, 5); if (result != HAL_OK) // HAL_ERRO
Hello,I’m using the STM32H503CBT6 microcontroller in my project. At this stage, the firmware simply toggles a single LED. I’m using STM32CubeMX (code configurator) and compiling with STM32CubeIDE. The system is configured to run at 250 MHz using a 16 MHz HSE with the PLL, according to the recommendations in the documentation.Hardware Configuration:NRST pin is pulled up to 3.3V with a 4.7k resistor and has a 100nF capacitor to GND.BOOT0 is pulled down to GND with a 10k resistor.Both VCAP pins have 2.2µF ceramic capacitors.All unused GPIOs are left in floating mode via CubeMX configuration.VDD is supplied with a stable 3.3V.Observed Issues:The system enters a fault state randomly, between 10 seconds and 10 minutes after power-up.In the fault state:VDD remains at 3.3V.NRST pin oscillates between ~0.5V and ~0.9V.VCAP voltage drops to around 1V (where it should normally be ~1.36V).Before entering the fault state, NRST sometimes fluctuates between 3.3V and 2V for a short while.After the faul
@Tesla DeLorean @Amel NASRI @Andrew Neil Hi! I am starting to implement RTOS in my program, and I wonder if someone could help me to figure out what is happening with my MCU routine. I am starting my program with baby steps. I initiated four threads that I intend to use (Main - UART - LCD - ADC). At first the code worked just fine and suddenly stopped working. The way the MCU is behaving seems to vary and is giving me a hard time to understand why. My threads are the following: void mainFunction(void *argument) { /* USER CODE BEGIN 5 */ /* Infinite loop */ for(;;) { char msg8[100]; sprintf(msg8,"Main Function ###### MAIN #####\n"); HAL_UART_Transmit(&huart8, (uint8_t *)msg8, strlen(msg8), 1000); osDelay(500); } /* USER CODE END 5 */ }void uartFunction(void *argument) { /* USER CODE BEGIN uartFunction */ /* Infinite loop */ for(;;) { char msg8[100]; sprintf(msg8,"Uart Function ###### UART #####\n"); HAL_UART_Transmit(&huart8,
I'm working on a project which uses DMA to pull data from an external chip controlled by the FMC into a buffer in AXI SRAM, and am seeing a much lower throughput than expected. It looks like the FMC is idle for long periods of time, and I'm looking for some insight the cause of the downtime. Where are the delays being introduced? Are they inherent to the FMC peripheral, caused by its current settings, or a result of how it's being accessed? Also, which clock connects to the DMA controller on the H7 series, and could the DMA clock also be limiting performance? Additional details: The FMC is configured for asynchronous accesses to SRAM with an 8-bit data bus and a 12-bit address bus (full config is pasted below). The FMC is clocked at 200MHz, the core is clocked at 400MHz, and I'm not sure about the DMA controller clock since it doesn't show up in any clock diagrams I can find. I'm using development hardware (an old Nucleo-H743ZI2) and just monitoring the FMC outputs directly with a
Hello,I implement RS-485 on STM32G491. I receive with ReceiveToIdle_DMA and I also transmit with DMA. I need to know if currently something is being received because that means I cannot send data now because RS485 is half-duplex. As far as I know I cannot use IDLE flag as it clears after interrupt and I need to know if RX line is now IDLE or now I am receiving data.In sumarry - what condition should I check before sending data and changing DE state of the transceiver to make sure RX is silent now.Looking forward to your replies!
..
Hello All, I am developing a design based on STM32N647A0 and have limitation on the number of pins to accommodate 16 data lines. The PSRAM used in STM32N6DK board is APS256XXN-OBR-BG and is based on 16 data lines. So, can i use APS6408L-3OBM-BA, PSRAM that has 8 data lines because of the limitation of number of pins. This will help me to stay with the STM32N647A0 part number? Please suggest on this. Also, I understand the data rate may be compromised by using APS6408L-3OBM-BA, but I want your suggestion, if the STM32N647A0 device will be compatible to work with 8 data lines PSRAM. Please share your valuable suggestions on the concerned issue. Best Regards, Sakshi
I was using the CAD resources files from ST for the symbol & footprints of STM32N657B0H3Q & STM32647A0 but could find some pins missing in symbols and footprints as given in the discovery kit. So can anyone check and guide on this..I'm attaching the screen shots of symbols from the discovery kit and the symbol downloaded from the CAD resources.The symbol downloaded from the ST CAD resource for STM32N657B0H3Q (For instance PB1, PB2... pins are missing,) similar is the case for the STM32647A0 CAD files from ST CAD resource. The below attached screenshot is of STM32N657B0H3Q discovery kit having all pins of MCU.
Hi all, Is there a Modbus tcp/ip Server (Slave) and client (Master) examples for STM32 Nucleo F429ZI board or any other similar boards? Thanks,
Hello, I hope this message finds you well. We are currently working with the STM32WBA52CG MCU and have designed an antenna based on the development board specifications. I would like to seek your advice regarding the placement of the antenna as shown in the image below. Could you please let me know if this placement is appropriate? Additionally, are there any specific parameters or considerations we should take into account to ensure optimal performance? Thanks in advance.
Recently I have encountered a strange issue I cannot really explain...I have a firmware that manages serial UART communication with a callback that has a state machine with 3 states.In the first state, UART is set to perpetually expect 1 byte of data until a specific value is received. If the value is received, another byte is set to be read via UART_Receive_IT and SM proceeds to the next state.In the second state, the received byte is considered message length and UART_Receive_IT is set to read the expected amount of bytes.The third state is supposed to happen when the expected amount of bytes is received and all parsing is done... however, it is never triggered when the serial data is longer than 49 bytes.I am sending data with RealTerm. Short messages work just fine, but then I need to send 147 bytes. In the debug, I can see from the state of huart2 handler that RxXferCount starts at 147 and decrements until 98. Then, UART_RxISR_8BIT is never called again, the state remain
Hello,Trying to achieve wakeup system at every 60 sec or more using LPTIMER1 in STOP2 mode.Observation:1. STOP2 = enable and LPTIMER = 60 sec --> Wakeup not work2. STOP2 = disable and LPTIMER = 60 sec --> Wakeup work3. STOP2 = enable and LPTIMER = 2 sec --> Wakeup work4. STOP2 = disable and LPTIMER = 2 sec --> Wakeup work void enterLowPowerMode() { HAL_UARTEx_EnableStopMode(&hlpuart1); HAL_SuspendTick(); HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI); HAL_ResumeTick(); Reset_SystemClock(); HAL_UARTEx_DisableStopMode(&hlpuart1); }Using LPTIMER1, below is the configuration, static void MX_LPTIM1_Init(void) { /* USER CODE BEGIN LPTIM1_Init 0 */ /* USER CODE END LPTIM1_Init 0 */ LPTIM_OC_ConfigTypeDef sConfig1 = {0}; /* USER CODE BEGIN LPTIM1_Init 1 */ /* USER CODE END LPTIM1_Init 1 */ hlptim1.Instance = LPTIM1; hlptim1.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; hlptim1.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV64; hlptim1
Hello everyone, I am having a problem with a simple program. My board is a STM32-U575ZITxQ.Using only the USART1 interface, if I try to print the string: "USART1_READY" on my laptop's serial port, I have no problem. However, as soon as I also enable the USART2, I cannot print anything. Whether with only the USART2 enabled, or with both USART1 and USART2 enabled, if I try to print the string with USART2, I cannot. I checked all the settings of the USART1 and USART2 and they are the same (in GPIO, in Parameter setting, etc.)./* USER CODE BEGIN PV */ char USART1 = "USART1_READY:\r\n"; char USART2= "USART2_READY:\r\n"; /* USER CODE END PV */ /* USER CODE BEGIN 2 */ HAL_TIM_Base_Start_IT(&htim4);//ready for trigger at 1 seconds /* USER CODE END 2 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim->Instance == TIM4) { //HAL_UART_Transmit(&huart1, &USART1, sizeof(USART1),HAL_MAX_DELAY); HAL_UART_Transmit(&huart2, &USART2, sizeof(U
Hello ST Community,I'm developing a simple bootloader for the STM32U599 that requires USB serial communication (CDC class) for firmware updates.Current Situation:STM32CubeMX only offers USBX middleware for STM32U5 series.We have an existing, working USB driver implementation based on the classic STM32 USB Device Library (CDC class)Questions:Is it possible to use the classic STM32_USB_Device_Library with STM32U5 series instead of USBX?Can we port our existing USB CDC driver to STM32U5 without major architectural changes?Are there any STM32U5-specific examples using the classic USB Device middleware for bare metal applications?Requirements:Bare metal implementation (no RTOS)USB CDC Virtual COM Port functionalityMinimal flash/RAM footprint for bootloader useCompatibility with existing USB driver codebaseI've seen references to the STM32U5 Classic CoreMW package on GitHub, but wanted to confirm the best approach for our use case.Any guidance or examples would be greatly app
Dear All,I am working on the STM32U5A9 platform. I am migrating to this MCU a project that was developed on the STM32F7, that was using the HAL_SPI_DMAPause and HAL_SPI_DMAResume functions.Looking into the HAL of the U5 I see this:Why are these functions deprecated? What would be the best course of action in order to achieve the same functionality as before on the U5?Thank you in advance.
can anybody answer please, if i costmised board based on bg431besc1 board it needed to upload boot loader file in stm32g431 controller to run in stm32ide code ?
I am using IAR + STLINK-V3PWR for my project. If I stop and resume program execution, on the STM32L433 MCU the TRACE_IOEN bit is activated and SWO intercepts pin PB3 . How to disable SWO ?
Hi, Where can I find MISRA-C 2012 compilance report for HAL and LL APIs?Does code generated by CubeMX using STM32WB Stack is MISRA-C 2012 Compilant?https://www.st.com/en/embedded-software/stm32cubewb.htmlIf we use CubeMX generated code for STM32WB for BLE application, can we claim our code is MISRA-C 2012 compliant as ST has already validated with CodeSonar? Or do we need to re-validate and have to be proven again ? Where can we see detailed validation report of BLE stack or STM32WB HAL or LL api stacks component validation with exceptions if there is? Kind Regards,Dhaval
Hi everyone,I'm working on a project where I want to connect the STM32U5G9J microcontroller to the internet using a 4G module. For this, I purchased the STM32U5G9J-DK2 development kit and a 4G network module that supports USB CDC ECM device mode.To get started, I referred to the example STM32Cube_FW_U5_V1.7.0\Projects\STM32U5G9J-DK2\Applications\USBX\Ux_Host_HID and configured USB and the USBX stack in STM32CubeMX accordingly. However, the STM32 DK2 does not detect the USB device when it's plugged in — no insertion event is triggered.I'm a beginner when it comes to both USB and STM32 development. Could anyone suggest what documentation, examples, or guides I should refer to in order to complete this project?Any help would be greatly appreciated.Thanks in advance!
why am I getting this ? and how to resolve this
We are currently using the STM32H723VGT6 MCU (1MB Flash) in our application.We would like to clarify whether this MCU supports execute-in-place (XIP) from Quad-SPI flash or if Octal-SPI is required for XIP functionality.In the future, if our application requires 2MB of internal flash, we plan to upgrade to the STM32H743VGT6, which is pin-to-pin compatible and also supports Quad-SPI.As we are designing a common schematic for both MCUs, we would like to confirm:Is a single Quad-SPI interface sufficient for enabling XIP on the STM32H723VGT6, or does it require an Octal-SPI interface for that purpose?
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.