|
|
  |
Hard fault на EXTI |
|
|
|
Oct 18 2015, 18:53
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(pitt @ Oct 18 2015, 19:47)  Вскрытие показало, что плохой коннектор приводит к тому, что пин просто висит в воздухе как антенна. Вообще-то за такое - 2 по схемотехнике. Нога не должна болтаться в воздухе в 3м состоянии, так и МК запалить - дело секундное. "Т.е. я предполагаю, что происходит множество запросов на прерывание, до его обработки." - Вообще-то новый запрос прерывания выставляется только после обработки предидущего (сброса флага), а вот вызов процедуры-обработчика будет постоянно, пока флаг не сбросишь, т.е. прога зависнет на обработке прерывания и всего-то
|
|
|
|
|
Oct 18 2015, 19:20
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(mantech @ Oct 18 2015, 14:53)  Вообще-то за такое - 2 по схемотехнике. Нога не должна болтаться в воздухе в 3м состоянии, так и МК запалить - дело секундное. "Т.е. я предполагаю, что происходит множество запросов на прерывание, до его обработки." - Вообще-то новый запрос прерывания выставляется только после обработки предидущего (сброса флага), а вот вызов процедуры-обработчика будет постоянно, пока флаг не сбросишь, т.е. прога зависнет на обработке прерывания и всего-то  Работаем с тем, что имеем... От чего-же, все-таки, может вылезти Hard fault? Кстати, это происходит не моментально, а по прошествии некоторого неопределенного времени, но, в конце концов, ВСЕГДА.
--------------------
|
|
|
|
|
Oct 18 2015, 20:26
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (mantech @ Oct 18 2015, 21:53)  Вообще-то за такое - 2 по схемотехнике. Нога не должна болтаться в воздухе в 3м состоянии, так и МК запалить - дело секундное. Дурость написали. QUOTE (aaarrr @ Oct 18 2015, 23:01)  Можно строить версии и догадки, а можно обратиться к статусным регистрам и содержимому стека. Второй вариант быстрее и надежнее. Именно так.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 18 2015, 20:34
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(zltigo @ Oct 18 2015, 23:26)  Дурость написали. Дурость- не дурость, а пара МК в свое время сдохла из-за этого. Цитата(smalcom @ Oct 18 2015, 23:03)  точно. я перепутал. получается что возможна следующая ситуация: в обработчике прерывания сначала сбрасывается флаг, а потом выполняется какая-то работа. т.о. возможен повторный вызов обработчика. В случае вложенных прерываний так и будет.
Сообщение отредактировал mantech - Oct 18 2015, 20:35
|
|
|
|
|
Oct 18 2015, 20:39
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(aaarrr @ Oct 18 2015, 16:01)  Можно строить версии и догадки, а можно обратиться к статусным регистрам и содержимому стека. Второй вариант быстрее и надежнее. Можно и даже нужно. Вот только: - Hard fault viewer чаще всего не дает достаточно информации - переполнения стека НЕТ и все маркеры на месте - в пошаговом режиме(break point в обработчике) все работает как часы Да, прерывания от подвешенной ноги возникают и обрабатываются. Я специально встроил счетчики вошел/обработал и пока нет Hard fault все как и ожидается, а потом вдруг раз и Hard fault ... Тут-то и нужны версии и догадки...
Сообщение отредактировал pitt - Oct 18 2015, 20:42
--------------------
|
|
|
|
|
Oct 18 2015, 21:10
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(zltigo @ Oct 18 2015, 16:58)  Не порите чушь. Адрес команды вылета, регистры и стек при вылете получаются вне зависимости ни от каких неведомых "вьюверов". Г.уру, от щедрот переполняющих Вас знаний, не изволили бы Вы обучить порющих чущь Вашему великомудрому умению читать то, что к моему глубокому сожалению, не написано в известной мне документации как, например: link. Кстати, тамже Вам и предоставится шанс познакомиться с "неведомым вьювером".
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|