|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.09.2010, 09:39 | #1 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 57
|
Работа с COM-портом
Доброго времени суток!
Подскажите новичку, как осуществить корректное считывание данных. В общем, есть плата, которая присылает вот такую строчку: Код:
Все вместе - 29 символов Подскажите, как сделать так, чтобы постоянно получать именно эти 29 символов и работать потом с полной строчкой... Дело в том, что иногда приходит не 29, а 36 или 21 символ, тогда теряются данные, т.к. я такие строчки исключаю. Заранее благодарен! |
27.09.2010, 10:02 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...проверял-ли сторонними утилитами, что всегда приходит именно 29
...не видно также вашего кода
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
27.09.2010, 10:11 | #3 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Так может оно так и шлет само? В терминалке или другом софте наблюдали за поведением?
UPD: Упс, raxp опередил )
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
27.09.2010, 10:15 | #4 | |
Пользователь
Регистрация: 18.01.2009
Сообщений: 57
|
Цитата:
вот примерный код, это поток: Код:
|
|
27.09.2010, 10:17 | #5 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 57
|
|
27.09.2010, 11:31 | #6 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
1- sleep вас не смущает ?
2- что значит ваше "возможно", так проверяли или нет? 3- Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
27.09.2010, 11:40 | #7 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Цитата:
Цитата:
|
||
27.09.2010, 11:49 | #8 | |
Пользователь
Регистрация: 18.01.2009
Сообщений: 57
|
Цитата:
2. нашел, скачал программу... проверил - ДА, не всегда 29 А можно ли как-нибудь сделать так: допустим нормальная строка - 12345K, где К - конец данных Ниже считаны данные 5 раз: 1. 12345К 2. 123 3. 45К123 4. 45К 5. 12345К Вообще возможно ли как-нибудь сложив строки и получить нормальную? Или данные все же не будут нормальными? т.е. Вы имеете в виду, дождаться символа 13, а потом от него начинать действия? Последний раз редактировалось Stilet; 27.09.2010 в 12:42. |
|
27.09.2010, 13:04 | #9 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
1- посмотрите как реализовано чтение в любом компоненте, тот же bcomport
2- не видно ваших настроек COM порта, размера буфера, таймаутов и т.п.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
27.09.2010, 13:55 | #10 | |
Пользователь
Регистрация: 18.01.2009
Сообщений: 57
|
Цитата:
я так понимаю, что размер буфера - это настройка того, сколько мне нужно считать? вот открытие и настройка порта Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с com-портом | larry | Visual C++ | 6 | 12.08.2010 16:21 |
Работа c COM-портом | doniyor | Общие вопросы Delphi | 12 | 27.07.2009 11:16 |
Работа с COM-портом | jovanny | Помощь студентам | 2 | 03.05.2009 18:06 |
Работа с COM портом | hoba | Общие вопросы Delphi | 3 | 20.11.2008 03:39 |