Трудно определить, не зная больше о вашем программном обеспечении.Если ШИМ работает, генератор явно не остановился.Похоже, в коде может быть встроенная программная команда точки остановаОтладка на кристалле по умолчанию не останавливает периферийные часы при достижении точки останова.
Такие инструкции следует защищать, чтобы блокировать только при подключенном отладчике host (т. Е. Программном обеспечении отладчика, а не только физическом оборудовании JTAG), например:
if (CoreDebug->DHCSR & 1) __BKPT(0);
Если точка останова не является условной для отладчика, процессор остановится и ничего не сможет его перезапустить (кроме сторожевого таймера, предпочтительно независимого сторожевого таймера, поскольку оконный сторожевой таймер можно настроить так, чтобы его часы останавливались при достижении точки останова).
Когда отладчик отключен, точка останова освобождается, что может быть тем, что здесь происходит.