Заголовок сообщения: Проблемы обработки ошибок по UART в stm32
Добавлено: Вт окт 28, 2014 20:27:17
Родился
Зарегистрирован: Пн мар 11, 2013 01:46:59 Сообщений: 19
Рейтинг сообщения:0
Добрый вечер. Есть плата STM32VL Discovery. Делаю на ней мост.По UART передаю с компа данные, данные принимаются и передаются по SPI дальше и соответственно ответ от устройства принимаю по SPI и передаю по UART в компьютер. UARTработает на 115200. В принципе программа работает при идеальных условиях(если посылка идет с компа на правильной скорости).Решил сделать обработчик ошибок по UART, если ошибка то просто пропускается байт и соответственно он не запихивается в SPI. Возникла проблема, что при передаче например на другой скорости, умышленно передаю на 19200 например, то обработка работает как то через раз и не все байты отсекаются.Хотя ,например , на скорости 460800 все прекрасно отрабатывается. Проект собран IAR 6.21.1. Использую UART1 прерывание по приему(данные в нем отправляю в SPI), SPI1(прерывание по приему,данные отправляются в UART). Может кто увидит где я накосячил. Спасибо
Заголовок сообщения: Re: Проблемы обработки ошибок по UART в stm32
Добавлено: Вт окт 28, 2014 20:51:31
Родился
Зарегистрирован: Пн мар 11, 2013 01:46:59 Сообщений: 19
Рейтинг сообщения:0
Спасибо.То я подстраховаться так пытался. Поправил, но эффекта нет.Заметил что ставлю скорость больше передачи- все отлично, меньше чем 115200 - проскакивают байты(
ХЗ я подобными извращениями не занимался . Может стоит перенести на F0 , там USART более навороченный с Auto baud rate detection. И еще - у тебя CMSIS старая , в новой одни хэдеры ...
Опубликованы материалы вебинара, посвященного пленочным конденсаторам компании Hongfa, на котором была представлена текущая линейка и модельный ряд продукции этого направления, включая новые, недавно вышедшие серии.
На вебинаре были приведены актуальные примеры применения пленочных конденсаторов Hongfa в источниках питания, зарядных станциях для электротранспорта, преобразователях частоты, фотоэлектрических преобразователях и ветрогенераторах.
Компания Hongfa - один из лидеров азиатского рынка пленочных конденсаторов с полным циклом производства. Она выпускает пять серий помехоподавляющих конденсаторов этого типа как для бытовой, так и для трехфазной промышленной сети, а также для автомобильного применения. Продукция компании по ассортименту, параметрам и количеству серий конденсаторов ЭМП не уступает другим крупным производителям этого сегмента и может легко заменить ассортимент ушедших из РФ брендов.
При передаче на скорости отличной от ожидаемой некоторые символы (последовательности символов) вполне могут быть распознаны как нормальные, значение у них будет уже другое, но тем не менее. Введи понятие кадра, определи его границы, используй контрольную сумму и будет тебе счастье.
Зависит от конкретной аппаратной реализации, но 100% никогда не будет. Лень рисовать картинки, к примеру, значение 0xFF, переданное на скорости 9600, распознается как 0x7F приемником настроенным на скорость 19200. Включение проверки четности позволит отсеять некоторые "коллизии", но не все.
Так что если нужна близкая к 100% вероятность распознавания ошибки, то без усложнений не обойтись (довольно значительных по сравнению с "принял байт, передал байт", но тем не менее вполне реализуемых).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения