|
|
  |
Проблема с Watchdog, STM32F10X |
|
|
|
Nov 25 2013, 06:50
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Инициализирую собаку Код void IWD_Init(void) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_16);
IWDG_SetReload(0xFFF);
IWDG_ReloadCounter();
IWDG_Enable(); } Чтоб проверить ставлю заглушку в мэйне Код int main(void) { GlobalInit(); UsartSendString("Start\r"); while(1) { switch(mot_state) { //some code }
while(1) { //zaglushka }
if(rx_command_recieved) { //some code }
IWDG_SetReload(0xFFF); IWDG_ReloadCounter(); } После 4-5 рисетов камень умирает и оживить его можно только передернув питание.
|
|
|
|
|
Nov 25 2013, 08:34
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(ViKo @ Nov 25 2013, 12:24)  Все просто, все работает... Когда-то давно я уже писал, что в "готовке" есть некоторые тонкие моменты... Например, при сбросе на ножке RESET будет импульс отрицательной полярности, который собственно камень-то и сбрасывает. Если по каким-либо причинам этому импульсу не бывать (например, RESET "хорошо притянут" к VCC), то сброса не будет и программа продолжит исполняться дальше (тот же while(1)). Дополню: "хорошо притянут" - это и емкий конденсотор на RESET.
|
|
|
|
|
Nov 25 2013, 09:30
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(ViKo @ Nov 25 2013, 13:07)  Может, и есть, как сказал adnega. Конденсатор C3 заряжен до 3,3В, и должен разрядиться при срабатывании IWDG. Попробуйте уменьшить в 10 раз. Я не настаиваю)) По схеме особого криминала не вижу: - если J1 и J2 оба на земле (а не в воздухе), - если к JP1 не подключен отладчик (который может на NRST воздействовать). Нужно разобраться, где продолжает работать программа. Контроллер не может "умирать" - скорее всего он продолжает крутить while(1)... или находится в HardFault))
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|