Top.Mail.Ru
Уведомления
Очистить все

[Решено] Причина перезапуска микроконтроллера

(@denis-5)
New member

Добрый день, уважаемые коллеги, подскажите, есть ли способ определить произошло ли срабатывание вочдога IWDG при последнем перезапуске контроллера. То есть при включении контроллера я бы хотел иметь возможность понять причину предшествовавшего перезапуска.

Заранее всех откликнувшихся благодарю!


Цитата
Создатель темы Размещено : 15.07.2021 19:01
Aveal
(@aveal)
Top level Admin

Если перезапуск был из-за срабатывания IWDG, то в регистре RCC->CSR будет установлен бит IWDGRSTF. При включении надо его проверять и сбрасывать вручную - установив бит RMVF в этом же регистре RCC->CSR.


ОтветитьЦитата
Размещено : 21.07.2021 11:29
tech
 tech
(@tech)
Level 3

С использованием HAL может выглядеть так:

if (READ_BIT(RCC->CSR, RCC_CSR_IWDGRSTF) != RESET)
{
	// Здесь свой код
	SET_BIT(RCC->CSR, RCC_CSR_RMVF);
}

ОтветитьЦитата
Размещено : 21.07.2021 14:08
(@denis-5)
New member

@tech @aveal спасибо, за пример в частности 😊 


ОтветитьЦитата
Создатель темы Размещено : 21.07.2021 18:00
Поделиться:
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.