|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 8:01 am
|
Страница 1 от 1
|
[ 4 мнения ] |
|
| Автор |
Съобщение |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Въпрос за VB2005 и RS232
Направих една апликация, която показва съобщения получени през RS232. Всяко съобщение е с дължина до 8 символа и би трябвало да се изписва на собствен ред. Но понякога се получава присъединяване на част от следващото съобщение към предходното, което има дразнещ ефект. Каква техника може да се използва, за да не се случва това?
|
| Пон Сеп 14, 2009 4:32 pm |
|
 |
|
optron
Ранг: Ориентиран
Регистриран на: Чет Ное 20, 2008 1:49 pm Мнения: 276 Местоположение: Бургас
|
Трябва да ескейпваш символите, получени от интерфейса. Ако например по порта получиш бакспейс веднага след като пренесеш на нов ред, ще ти се изтрие пренасящият символ.
_________________ Digitally yours: Optron
|
| Пон Сеп 14, 2009 10:03 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
Комуникацията е с PIC и не включва Enter и backspace. Грешката се получава понякога. По принцип, в програмата на PIC-а има времеви интервали, които предизвикват пренасянето, но при опити на различни компютри, понякога се получават грешки. Затова се опитвам да намеря начин от VB да направя пренасянето. е, Съобщението се записва в 8-байтов буфери явно при по-кратките съобщения първо се допълва и тогава се изписва в полето.
|
| Пон Сеп 14, 2009 10:51 pm |
|
 |
|
optron
Ранг: Ориентиран
Регистриран на: Чет Ное 20, 2008 1:49 pm Мнения: 276 Местоположение: Бургас
|
Този ПИК ти ли го програмираш? Ако е възможно, накарай го за добавя Ентер след всяка дума. Мисля, така ще е най-лесно.
А освен бакспейс, и дел символ също търка. Освен това има символи, които игнорират следващия Ентер. Както вече казах - трябва да ескейпваш.
Може би, ако нямаш контрол над ПИК-а, ще е най-добре да парсваш входа символ по символ и като срещнеш контролни символи да ги заменяш с някакви стрингове. Другият вариант е вместо символно, да изписваш получените данни числово - стойностите в съответния байт в някаква бройна система.
_________________ Digitally yours: Optron
|
| Вто Сеп 15, 2009 3:46 pm |
|
|
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|