ART_ME

STM32 для чайника

1 899 сообщений в этой теме

GOR23    41

@MihaNN52 Ещё так может проявляться аппартаный косяк с I2C на F103 серии. Про него неоднократно писали. Но проявляется это не часто, у меня к примеру на 200 приборах, работающих почти беспрерывно, вылезло за пол года всего раз 5. И то после перезагрузок. Так что если у вас такое часто, то скорей всего причина в другом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
В 17.06.2018 в 12:57, GOR23 сказал:

@MihaNN52 С какой функции hal_ busy возврашается?

 

У меня он тоже не часто появлялся. Но тут похоже микросхема часов дает сбой. Перезапуск чтения не помогает. Линия SDA  висит а нуле. Перезагрузка так же не помогает, но с этим вроде как разобрался. А как продолжить чтение нет. Понятно что в идеале все должно работать без сбоев. Но наверное не правильно чтоб устройство вставало без реализованных попыток работать дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

@MihaNN52 , если шина виснет, а устройство должно работать дальше, то в чём проблема ? - пусть дальше работает, но без часов.
Если оно может "сказать" внешнему миру об ошибке - то пусть говорит.

PS: Как Вы сделаете, таким поведение и будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
5 часов назад, Alex сказал:

@MihaNN52 , если шина виснет, а устройство должно работать дальше, то в чём проблема ? - пусть дальше работает, но без часов.
Если оно может "сказать" внешнему миру об ошибке - то пусть говорит.

PS: Как Вы сделаете, таким поведение и будет.

Не без часов, а без шины i2c которая лежит плашмя и на которой несколько устройств.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    41

А пробовали выловить этот зависон и отключить часы от шины, что бы убедиться в том что часы шину держат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559
Цитата

Не без часов, а без шины i2c

Да какая разница без чего работать ? Ну не без часов, а без шины.
Вопрос то в чём ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
1 час назад, GOR23 сказал:

А пробовали выловить этот зависон и отключить часы от шины, что бы убедиться в том что часы шину держат?

Да пришлось отключить часы и использовать внутренний RTC контроллера. Сейчас проблема не появляется.

1 час назад, Alex сказал:

Да какая разница без чего работать ? Ну не без часов, а без шины.
Вопрос то в чём ?

Вопрос как вернуть шину в работу без перезагрузки МК.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    41

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

Изменено пользователем GOR23

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

Сколько у меня устройств было с часами по I2C (в том числе - промышленные, работающие в суровых условиях помех и питании), ни одно не висло из-за них.
Сказки какие то...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 430

китайские 1307 виснут только так

нормальные, купленные не по 15 рублей за штуку, не висли еще ни разу

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

А, ну если речь идёт о китайской фигне, то какие могут тут быть советы ТС'у... Пусть ставит нормальные...
Форум бессилен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 430

калокуб виноват

у нас на любой случай либо Путин либо калокуб. В данном случае хайли лайкли второе )

Изменено пользователем mail_robot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Darth_Vader    64
4 часа назад, mail_robot сказал:

китайские 1307 виснут только так

Давным-давно надо забыть про 3107, ведь существует 3231!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
1 час назад, Darth_Vader сказал:

Давным-давно надо забыть про 3107, ведь существует 3231!

Часы 3231 конечно. Ни кто в реальные проекты всякое говно не покупает.

5 часов назад, mail_robot сказал:

китайские 1307 виснут только так

нормальные, купленные не по 15 рублей за штуку, не висли еще ни разу

Неисправность по часам появлялась и ранее во время разработки устройства, а это было почти 8 месяцев. И микросхемы часов стояли минимум три разных.

 

6 часов назад, GOR23 сказал:

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

Читал там есть пример как перезапустить шину регистрами но у меня так и не получилось это сделать на f103. Возможно из нас кто то делал подобное?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

@MihaNN52 , кто же тогда у Вас виноват ? Часы, по Вашим словам, нормальные. Код, по всей видимости, тоже, раз Вы о нём ни слова ...
Полтергейст ?
Ну, или как уже выше сказали - Путин. Надо было ему на конференции в прямом эфире позвонить и спросить :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    41

@MihaNN52 Если шину держат зависшые часы, то какой смысл дергать контроллер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
5 минут назад, Alex сказал:

@MihaNN52 , кто же тогда у Вас виноват ? Часы, по Вашим словам, нормальные. Код, по всей видимости, тоже, раз Вы о нём ни слова ...
Полтергейст ?
Ну, или как уже выше сказали - Путин :D

Вы можете подключить любое i2c устройство с с вашим самым правильным кодом и во время работы отключить физически SCL  и получите HAL_BUSY и попробуйте после этого вернуть шину в работу. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
15 минут назад, GOR23 сказал:

@MihaNN52 Если шину держат зависшые часы, то какой смысл дергать контроллер?

Нет они не держат. Неисправность появляется если HAL ждет ответа, а его нет. Самое простое это отключить SCL во время работы и получите тоже самое - HAL_BUSY . Если отключать SDA то будет просто HAL_TIMEOUT. После повторного подключения работа продолжается. Но если выдало HAL_BUSY и шины линии висят в 1 т.е все как положено, МК считает что шина занята.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 430

ну и ничего контроллер в этой ситуации не сделает. С его стороны все ОК. Заставить часы отпустить шину он никак не сможет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
9 минут назад, mail_robot сказал:

ну и ничего контроллер в этой ситуации не сделает. С его стороны все ОК. Заставить часы отпустить шину он никак не сможет

шина отпущена

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 430

ну значит надо взять бубен и танцевать вокруг. В него вселился злой дух

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

@mail_robot , сейчас и Вам посоветуют молотком по пальцам постучать, за такие посты. Ведь тут все дураки и не понимают @MihaNN52 'a ... :)

У него то виснет шина, то не виснет, то HAL виновен, то не виновен, ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MihaNN52    2
11 минуту назад, Alex сказал:

@mail_robot , сейчас и Вам посоветуют молотком по пальцам постучать, за такие посты. Ведь тут все дураки и не понимают @MihaNN52 'a ... :)

У него то виснет шина, то не виснет, то HAL виновен, то не виновен, ...

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

Изменено пользователем MihaNN52

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

Поражайтесь дальше. Мой пост не вам был адресован.

По существу - 2 страницы мычания и ни одного внятного объяснения проблемы. Все сидят и гадают, что же у Мишеньки происходит...
Зато красноречиво умеем дерзить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...