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

 
 
> 3 PICа по RS485
Артемko
сообщение Feb 10 2016, 12:12
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 10-02-16
Пользователь №: 90 408



Всем здравствуйте!
Недавно начал разбираться с МК , точнее с их передачей данных на другие МК, остановился на USART, такой вопрос:
Мне нужно обмениваться данными между 3 МК, но мне не понятно, допустим 1 передает, а 2 других принимают, как передатчик понимает, что приемник готов принять данные?
Вдруг случится так, что в регистр передатчика я уже записал какие либо данные, а другие МК еще не успели включиться на прием(МК включился с задержкой), как это решается?
Будет ли передатчик ждать появления приемника и как он это поймет?
Не могли бы направить в какую сторону мне рыть по правильному алгоритму обмена.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Mar 16 2016, 14:51
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Ждать не нужно.
В приемнике УАРТа есть сдвиговый регистр, который принимает байт и есть регистр приемника, из которого вы читаете байт, когда он весь принят и переписан УАРТом в регистр приемника. Прерывание возникает когда принятый байт уже в регистре приемника и сдвиговый регистр пустой и готов принимать следующий байт. У вас есть время в один байт, чтобы прочесть принятый байт, иначе возникнет ошибка Overrun.
В ПИКах кроме того есть фифо на прием, от одного до четырех байт.


А вообще, вам лучше скачать с сайта Микрочипа примеры и в них поразбираться, сразу большая часть вопросов отпадет sm.gif
Go to the top of the page
 
+Quote Post
Артемko
сообщение Mar 17 2016, 05:35
Сообщение #3





Группа: Участник
Сообщений: 6
Регистрация: 10-02-16
Пользователь №: 90 408



Цитата(Baser @ Mar 16 2016, 17:51) *
Ждать не нужно.
В приемнике УАРТа есть сдвиговый регистр, который принимает байт и есть регистр приемника, из которого вы читаете байт, когда он весь принят и переписан УАРТом в регистр приемника. Прерывание возникает когда принятый байт уже в регистре приемника и сдвиговый регистр пустой и готов принимать следующий байт. У вас есть время в один байт, чтобы прочесть принятый байт, иначе возникнет ошибка Overrun.
В ПИКах кроме того есть фифо на прием, от одного до четырех байт.


А вообще, вам лучше скачать с сайта Микрочипа примеры и в них поразбираться, сразу большая часть вопросов отпадет sm.gif


Спасибо, да байта для чтения вполне должно быть достаточно... А на сайте микрочипа на оффициальном?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 17:46
Рейтинг@Mail.ru


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