ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
812751 Топик полностью
shan (29.01.2018 00:35, просмотров: 387) ответил йцукен на Про UART вам уже насоветовали, а я про другое спрошу - как это информация в ОЗУ пропадает при ресете? Ресет сам по себе ОЗУ не чистит, другое дело что сишный стартап норовит инициализировать переменные, ну так есть атрибут __no_init. И какое у вас
Согласен- перегружается быстро. Но тогда надо серьёзно переделывать инициализацию. Различать первый запуск (по питанию) когда надо всё задать "с нуля" и перезапуск по WDT или программный ресет. У STM это определить можно, но честно говоря немножко лень это делать, но может и придётся. Кроме того устройство уже инициализироало связь с оборудованием и при ресете не хотелось бы его заново инитить. Как я понял из ответов откликнувшихся, зависание UART-а есть в природе. Про отклонение частоты и как борьбу-ставить кварц не верю и не буду пока это делать следующим причинам: - стоит в серверном помещении с температурой 20С; - питание через две КРЕН-ки 12-5 и 5-3.3; - кварц это лишние рубли и площадь=размеры - потребуется переделка железа для будущих версий, а что делать с сотнями уже проданных? Если приём пропал, то навсегда, те почему под влиянием дестабилизирующего фактора (параметрический отказ) частота ушла в одну сторону и никогда не возвращается? Этот фактор должен как-то менять частоту около номинала. При сбросе связь восстанавливается мгновенно, те этот фактор пропадает при сбросе, или отсутствует. По опыту работы с некоторыми ЖКИ дисплеями знаю, что они зависают и при работе с ними я всегда делаю их переинициализацию каждые 10 минут. Пока склоняюсь к переинициализации только UART-а или по таймауту отсутствия связи 30сек-1 мин (период опроса 2 сек) и может принудительно каждые, например 10 минут.