А что в этом плохого если эти механизмы уже заложены производителем микроконтроллера. При том для этого не нужно никакого изменения железа. Мы все же летаем, и если это раз произошло на земле не вижу причин не ожидать такого в воздухе.
Вроде одни преимущества или есть и минусы?
Если подробнее, то я вот про что - http://easyelectronics.ru/arm-uchebn...tor-stm32.html
----------------------------------------------
Стоит рассказать еще об одном блоке, который сам в генерации тактовых сигналов участия не принимает, но иногда может оказаться весьма полезным. На схеме он обозначен как CSS Из схемы видно, что на вход ему подается тактовая частота с HSE а выход из этого блока заведен на блок выбора источника системного тактового сигнала. Итак, что же это за блок какой-то защиты? Назначение этого блока — следить за тактовыми сигналами поступающими с HSE и если с ними случится какой-то косяк, например они пропадут (кварц там у нас отвалился или еще что произошло), то этот блок может вмешаться в ситуацию и тогда происходит следующее:
-Автоматически отключается HSE.
-Посылается событие на останов работы расширенных таймеров TIM1 и TIM8.
-Генерируется прерывание CSSI, которое внутри процессора заведено на немаскируемое прерывание NMI, т.е. пропустить его невозможно.
-Если в качестве источника системной частоты использовался HSE напрямую либо через PLL, то источник системной частоты автоматом переключается на HSI.
-Если PLL был активен и входом ему служил сигнал с HSE, то PLL отключается.
Таким образом, микроконтроллер сохранит свою работоспособность, пусть и на пониженной и менее стабильной частоте, и проинформирует выполняющуюся программу об этом. А теперь представьте, что бы было, если бы этот микроконтроллер стоял в какой-то критически важной системе и просто бы остановился при проблеме с кварцем.
Ну и для того, чтобы эта прелесть заработала ее надо включить программно через установку бита CSSON регистра RCC_CR. По умолчанию он сброшен.