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

 
 
> Алгоритм получения строки с СИМХХХ
zebrox
сообщение Nov 22 2010, 13:02
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 17-04-09
Пользователь №: 47 838



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

Есть вопрос такого плана.
Как правильно получать строку (ответа) от сима.
\r\nMessage\r\n

Я вижу два возможных варианта.

Вариант 1.
1.При первом прерывании от юарта, уходим в него, выключаем прерывания, выставляем флаг пришедьших данных, выходим из прерывания.
2.В основном цикле, если видим флаг читаем строку, и обрабатываем ее (тут получается небольшая проблема, т.к. нужно делать некий автомат состояний и нужно постоянно помнить какое было последнее сообщение). После обработки сообщения включаем прерывания от юарта.

Вариан 2, извращенный smile.gif
1.При первом прерывании от юарта, получаем символ, записываем в буффер, запускаем таймер на 0.4сек скажем.
2.при следующем прерывании от юарта (до истечения таймера), записываем следующий символ в буффер, перезапускаем таймер.
3.так делаем до тех пор, пока таймер 0,4 сек не истечет или буфер не заполнится.
4.Когда таймер истек, имеем в буффере все сообщение от сима, обрабатываем его.

А как Вы получаете данные с сима?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zebrox   Алгоритм получения строки с СИМХХХ   Nov 22 2010, 13:02
- - Палыч   Что-то не пойму: в чём проблема? Принимайте символ...   Nov 22 2010, 13:15
- - zebrox   если ли по \r\n обрабатывать, то можно н...   Nov 22 2010, 14:51
|- - rx3apf   Цитата(zebrox @ Nov 22 2010, 17:51) если ...   Nov 22 2010, 14:57
|- - Палыч   Цитата(zebrox @ Nov 22 2010, 17:51) если ...   Nov 22 2010, 15:40
- - zebrox   А какие правильные установки порогов управления по...   Nov 22 2010, 15:11
- - skripach   Цитатаесли ли по \r\n обрабатывать, то м...   Nov 22 2010, 15:16
- - zebrox   пока я это смутно представляю. правилен ли следую...   Nov 22 2010, 15:44
|- - rx3apf   Цитата(zebrox @ Nov 22 2010, 18:44) пока ...   Nov 22 2010, 16:00
- - zebrox   ок, если паузу установить нельзя, тогда вопрос по ...   Nov 22 2010, 16:00
|- - rx3apf   Цитата(zebrox @ Nov 22 2010, 19:00) Прави...   Nov 22 2010, 16:03
- - zebrox   Ок, товарищ из третьего района, спасибо большое т...   Nov 22 2010, 16:09
|- - rx3apf   Цитата(zebrox @ Nov 22 2010, 19:09) тольк...   Nov 22 2010, 16:27
- - ArtemKAD   ЦитатаRTS-выставляем когда проц готов получать дан...   Nov 22 2010, 17:46
- - MKdemiurg   А не проще без прерывания принимать по флагу приём...   Nov 22 2010, 18:21
|- - M_Z   Цитата(MKdemiurg @ Nov 22 2010, 22:21) А ...   Nov 22 2010, 18:36
- - MKdemiurg   А если линейная программа , направлена ТОЛЬКО на п...   Nov 23 2010, 07:13
- - andrewlekar   Я делал так, что по прерыванию заполняется буфер, ...   Nov 23 2010, 08:06
- - mempfis_   Цитата(zebrox @ Nov 22 2010, 17:02) А как...   Nov 23 2010, 15:35
- - Alechek   Цитата(mempfis_ @ Nov 23 2010, 21:35) При...   Nov 25 2010, 13:39
- - mempfis_   Цитата(Alechek @ Nov 25 2010, 17:39) Ну з...   Nov 25 2010, 14:00


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

 


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


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