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

 
 
> прием данных по RS-232, описание алгоритма обработки входящих данных
chief_olimp
сообщение Aug 11 2006, 15:37
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Предлагаю в этой ветке обсудить следующий вопрос - стоит задача, принять по UART с десяток байт и определить что мы приняли. У кого какие на этот счет будут предложения? У меня кроме как побитно сравнивать ничего в голову не лезет. Если данных будет много то алгоритм получится медленным и "тупым".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bodja74
сообщение Aug 11 2006, 20:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



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

1 Сравниваете 1 полученный символ с 1 в таблице
2 Если совпало ,сравниваете 2 со 2
3 Если не совпало ,переходим на следующую позицию в таблице.
4 Опять сравниваем 1 с 1 и т.д. пока все не совпадет

можно другой способ,считать CRC полученный байтов и сравнивать с уже подготовленными CRC
каждой позиции в таблице.
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Aug 12 2006, 08:48
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Цитата(bodja74 @ Aug 11 2006, 23:29) *
Если на асме пишете,то по определению будете сравнивать каждый символ.
Алгоритм сравнения с базой(таблицей) данных достаточно простой.

1 Сравниваете 1 полученный символ с 1 в таблице
2 Если совпало ,сравниваете 2 со 2
3 Если не совпало ,переходим на следующую позицию в таблице.
4 Опять сравниваем 1 с 1 и т.д. пока все не совпадет

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

второй вариант подходит больше первого так как теоретически будет занимать меньше времени.
Можно примерчик по подсчету CRC (алгоритм)?

Для Woodoo: поняли вы все абсолютно правильно, можно написать тупо, а я хочу более универсальный алгоритм который можно будет использовать неодинажды.
Go to the top of the page
 
+Quote Post
bodja74
сообщение Aug 12 2006, 11:21
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата
второй вариант подходит больше первого так как теоретически будет занимать меньше времени.
Можно примерчик по подсчету CRC (алгоритм)?


Ведем подсчет контрольной суммы, тоесть складываем числовые значения всех символов(чисел)-получаем результат,на асме немного морока с 2байтной величиной,можно и 1байтной обойтись и потом
проверить посимвольно совпавшую позицию для убедительности.
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Aug 12 2006, 11:34
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Цитата(bodja74 @ Aug 12 2006, 14:21) *
Цитата

второй вариант подходит больше первого так как теоретически будет занимать меньше времени.
Можно примерчик по подсчету CRC (алгоритм)?


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

думаю байта будет достаточно. проверяем сначала его потом побайтно, а потом если не совпало ищем может где есть совпадения. так наверное и буду делать. cheers.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- chief_olimp   прием данных по RS-232   Aug 11 2006, 15:37
- - rezident   Если вы про AutoBaudDetect, то см. например у Texa...   Aug 11 2006, 15:53
- - Woodoo   Цитата: ... и определить что мы приняли... Однозн...   Aug 11 2006, 16:10
- - bgc   UART работает побайтно, при чем тут побитно сравни...   Aug 11 2006, 16:12
|- - rezident   Цитата(bgc @ Aug 11 2006, 22:12) я не пон...   Aug 11 2006, 16:59
- - Woodoo   может и дождемся... извеняюсь за оффтоп, просто вс...   Aug 11 2006, 18:38
- - chief_olimp   да все очень просто. Это проэкт для мобильного тел...   Aug 11 2006, 18:46
- - aaarrr   Если это мобильный телефон, то, за редкими исключе...   Aug 11 2006, 19:36
- - Woodoo   или я чтото не понял или так: под словом "опр...   Aug 11 2006, 19:36
- - aaarrr   С CRC имело бы смысл связываться, если бы требовал...   Aug 12 2006, 14:43
- - xemul   Цитата(aaarrr @ Aug 12 2006, 18:43) С CRC...   Aug 12 2006, 16:00


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

 


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


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