01.10.2021, 21:26
|
|
Временная регистрация
Регистрация: 18.07.2005
Сообщений: 72
Сказал спасибо: 26
Сказали Спасибо 42 раз(а) в 18 сообщении(ях)
|
Странная ошибка STM32H723
Доброе времени суток. Народ ткните носом куда копать. NUCLEO 144 H723ZG, работаю в CubeIDE Обмен по USB c РС, ADC и несколько таймеров. Иногда, без видимых причин перестает работать main while(1) loop.
Постараюсь объяснить. Я не использую FREE RTOS, в главном цикле, тот который в main происходит проверка запроса от PC, который прилетел по USB и в зависимости что пришло отправляю нужную информацию обратно - не суть. Иногда , пропадает связь с PC. Происходит это через 30-20 минут нормальной работы. Перестает работать while цикл в main, но в IDE переменные обновляются, в прерываниях брейкпоинты работают. VCP в Device Manager не пропадает... Не работает только основная программа. Пока активировал IWDG но это же не выход. В чем может быть причина?
|
|
|
|
01.10.2021, 22:07
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Re: Странная ошибка STM32H723
Где-то в программе висяк. Может прерывание какое-то постоянно срабатывает, вот в его обработчике и висит ожидая какого-то события, а оно не наступает, например прерывание от USB модуля.
|
|
|
|
02.10.2021, 02:39
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Странная ошибка STM32H723
Taras_33, таки на столь общий вопрос могут быть лишь общие ответы.
Анализ без кода очень напоминает сеанс у экстрасенса.
Пройдитесь по всем проверкам и установкам во всех обработчиках.
Попробуйте использовать логику POST с портом 0x80 для записи куда-то кода
входа/выхода обработчика.
Вроде как Вы говорите, что отладка у Вас работает…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
02.10.2021, 02:54
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: Странная ошибка STM32H723
Сообщение от Taras_33
|
Обмен по USB c РС, ADC и несколько таймеров.
|
Как построен обмен?
При помехах бывает переподключение устройства по USB и комповая софтина теряет связь с устройством.
Например, у меня было такое со сканером. Принтер тоже переподключался при включении компрессора сплита, но как устройство не терялся.
Кстати, СОМ порт может поменять номер. Тоже было.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
04.10.2021, 17:01
|
|
Временная регистрация
Регистрация: 18.07.2005
Сообщений: 72
Сказал спасибо: 26
Сказали Спасибо 42 раз(а) в 18 сообщении(ях)
|
Re: Странная ошибка STM32H723
Странно все это. После пропадания связи, все прерывания обрабатываются корректно. В смысле вызываются колбэки и забираются данные, в том числе и USB. Провел экперимент. На PC после пропадания связи игнорирую ошибку (timeout) и отправляю запрос снова, на стороне STM срабатывает прерывание OTG_HS_IRQHandler, (кликаю пошагово) вызывается CDC_Receive_HS, забираются данные из буфера, возвращаюсь обратно в OTG_HS_IRQHandler и вот после закрывающей скобки, отладка прекращается и "source code not available". Все остается работать, кроме этого главного цикла.
Вообщем пошел по принцыпу исключения. Оствил в работе только USB HS и главный цикл в main. Остальные прерывания выключены. По запросу от PC обратно отпавляю бред. Три часа полет нормальный. Буду включать по одному перефирию, посмотрю на результат..
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:22.
|
|