Skip to main content
mcizmeci
Associate II
February 23, 2021
Question

stm32f746vgt6 sys timebase source tim problem

  • February 23, 2021
  • 7 replies
  • 4167 views

0693W000007ZHBEQA4.jpg0693W000007ZHB4QAO.jpg0693W000007ZH9wQAG.jpgfriends, I have a problem, can you help? I am working with the stm32f746vgt6 microcontroller. I came across something that had never happened to me before. I am using freertos. My crystal frequency is 25 Mhz. Whenever I select the sys timebase source as a source, the microcontroller cannot start, it constantly dials tim interup. but the microcontroller ends in the reset printing process. Has anyone been seen before?

This topic has been closed for replies.

7 replies

Tesla DeLorean
Guru
February 23, 2021

Look at what pins are being initialized and how they relate to connectivity on the PCB

Watch for faults or watchdog timers.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
mcizmeci
mcizmeciAuthor
Associate II
February 23, 2021

@Community member​ e0693W000007ZHMMQA4.jpgmy pcb schematics.the system does not fail. it starts normally when reset is pressed. as if not booting, but it does.

Tesla DeLorean
Guru
February 23, 2021

If it dies in the highlighted routine, use the debugger, step into it and follow it to the point of failure.

If it is stuck in a TIM interrupt that would be because you aren't servicing it properly, and it will keep firing until you do.

Check the peripherals register, understand what is flagging, and why you enable it, but fail to deal with it in the IRQHandler.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
mcizmeci
mcizmeciAuthor
Associate II
February 23, 2021

I don't understand what you mean "If it is stuck in a TIM interrupt that would be because you aren't servicing it properly, and it will keep firing until you do." I'm not professional. I civil engeneer. I have to solve this problem but I don't know exactly how to do it.

mcizmeci
mcizmeciAuthor
Associate II
February 23, 2021

@Community member​

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

 /* USER CODE BEGIN Callback 0 */

 /* USER CODE END Callback 0 */

 if (htim->Instance == TIM2) {

   HAL_IncTick();

 }

 /* USER CODE BEGIN Callback 1 */

 /* USER CODE END Callback 1 */

}

microcontroller in a continuous loop.