 |
shan (29.01.2018 01:31) , в ответ на Тема проверки ошибок UART так и не раскрыта. Не знаю, как у STM32, но у Microchip и Atmel UARTы виснут при ошибке стопового бита (framing error) до сброса ошибки автор: Nikolay_Po
Ошибки действительно не сбрасываю. Уповал на контроль пакета в МОДБАСе. При неправильном пакете читаю до пустоты приёмный буфер. и жду следующего пакета, не предполагая, что прием и прерывания могут блокироваться.
У меня были предположения, что иголки помех могли приводить к ложному стартовому биту приему байта (FF) или неприёму, т.к. стартовый не принят. Про порчу стопового почему-то не подумал. У STM эта ошибка тоже есть, но я не думал, что она приведёт к блокированию приёма и прерываний.
Спасибо за идею почитаю RM на STM, добавлю в прерывании сброс ошибок. |