реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
Basilic
сообщение Jun 26 2017, 16:57
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 26-06-17
Пользователь №: 97 852



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

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

В конкретно моем случае есть мастер UART с последующим конвертированием в RS-422 и некоторое кол-во слейвов.
Слейвы по запросу присылают скажем 8 байт.
Эти 8 байт UART на прерываниях заталкивает в буфер.

Вот вопрос что делать и как правильно делать дальше. Я вижу 2 варианта:
1) Делать некий общий для всех интерфейсов FIFO-очередь , откуда программа в главном цикле будет выцеплять данные и дальше выбирать на что их пустить.
2) Делать то же самое для каждого протокола.
3) Брать данные прямо из буфера, где они будут валяться до, чем тормозить весь интерфейс. Как то неряшливо...

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

Примерное то же самое с исходящим. Пихать данные в буфер и запускать обмен из основного цикла или в очередь, откуда протокол будет сам забирать относящиеся к нему данные?
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 26 2017, 19:26
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Basilic @ Jun 26 2017, 19:57) *
Может быть есть статьи по теме?

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Basilic
сообщение Jun 26 2017, 20:09
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 26-06-17
Пользователь №: 97 852



Цитата(Forger @ Jun 26 2017, 20:26) *
Вы, наверно, будете очень удивлены, но такие статьи есть, вот ссылка


Мне не нужен протокол. Мне интересно как правильно и эффективно управлять входящими данными.
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 26 2017, 20:17
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Basilic @ Jun 26 2017, 23:09) *
Мне интересно как правильно и эффективно управлять входящими данными.

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 23:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.07492 секунд с 7
ELECTRONIX ©2004-2016