ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
812353
shan (27.01.2018 01:10, просмотров: 13434)
Пропадает связь по UART1 в STM32F030 Сотни работающих девайсов подключениы через USART1-RS485/MODBUS к системе мониторинга. Большинство без перезагрузки работают уже 2 года. НО некоторые (1-2%) через неделю, или месяц-полгода перестают отвечать мастеру НАВСЕГДА до перезагрузки по питанию. После включения связь восстанавливается сразу. Инициализирую УАРТ при включении. От скорости связи не зависит (пробовал от 2400 до 115к). Трасса 6-50м. Контроллер не зависает, т.к светодиод мигает, в автономе по GPIO управляет оборудованием. WDT не ресетит (перезапуск таймера WDT стоит в главном цикле). Тактирование от встроенного генератора (обычно этого достаточно для УАРТа). Питание по линии 12В. Драйвер RS485 питается 5в. Добавил в девайс заплатку: при отсутствии запросов от мастера 30 мин- ресет. Теперь в проблемных устройствах после пропадания связи, связь восстанавливается через 30 минут. Но это не устраивает, т.к. теряется накопленная информация в ОЗУ и на время перезагрузки управление оборудованием по GPIO. Непонятна причина. Что посоветуете? Периодически ресетить через RCC и переинициализировать только UART?