Перейти к содержанию
    

Внутренняя организация входящего и исходящего потока данных

Здравствуйте. Я любитель изучающий STM32, пересел с AVR.

 

Интересует, как теоретически правильно организовать внутреннюю часть произвольного протокола.

 

В конкретно моем случае есть мастер UART с последующим конвертированием в RS-422 и некоторое кол-во слейвов.

Слейвы по запросу присылают скажем 8 байт.

Эти 8 байт UART на прерываниях заталкивает в буфер.

 

Вот вопрос что делать и как правильно делать дальше. Я вижу 2 варианта:

1) Делать некий общий для всех интерфейсов FIFO-очередь , откуда программа в главном цикле будет выцеплять данные и дальше выбирать на что их пустить.

2) Делать то же самое для каждого протокола.

3) Брать данные прямо из буфера, где они будут валяться до, чем тормозить весь интерфейс. Как то неряшливо...

 

Может быть есть статьи по теме?

 

Примерное то же самое с исходящим. Пихать данные в буфер и запускать обмен из основного цикла или в очередь, откуда протокол будет сам забирать относящиеся к нему данные?

 

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


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

Может быть есть статьи по теме?

Вы, наверно, будете очень удивлены, но такие статьи есть, вот ссылка

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


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

Вы, наверно, будете очень удивлены, но такие статьи есть, вот ссылка

 

Мне не нужен протокол. Мне интересно как правильно и эффективно управлять входящими данными.

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


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

Мне интересно как правильно и эффективно управлять входящими данными.

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

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

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

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

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

×
×
  • Создать...