Отговори на тема  [ 4 мнения ] 
Въпрос за VB2005 и RS232 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Въпрос за VB2005 и RS232
Направих една апликация, която показва съобщения получени през RS232. Всяко съобщение е с дължина до 8 символа и би трябвало да се изписва на собствен ред. Но понякога се получава присъединяване на част от следващото съобщение към предходното, което има дразнещ ефект. Каква техника може да се използва, за да не се случва това?


Пон Сеп 14, 2009 4:32 pm
Профил WWW
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Чет Ное 20, 2008 1:49 pm
Мнения: 276
Местоположение: Бургас
Мнение 
Трябва да ескейпваш символите, получени от интерфейса. Ако например по порта получиш бакспейс веднага след като пренесеш на нов ред, ще ти се изтрие пренасящият символ.

_________________
Digitally yours: Optron


Пон Сеп 14, 2009 10:03 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение 
Комуникацията е с PIC и не включва Enter и backspace. Грешката се получава понякога. По принцип, в програмата на PIC-а има времеви интервали, които предизвикват пренасянето, но при опити на различни компютри, понякога се получават грешки. Затова се опитвам да намеря начин от VB да направя пренасянето. е, Съобщението се записва в 8-байтов буфери явно при по-кратките съобщения първо се допълва и тогава се изписва в полето.


Пон Сеп 14, 2009 10:51 pm
Профил WWW
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Чет Ное 20, 2008 1:49 pm
Мнения: 276
Местоположение: Бургас
Мнение 
Този ПИК ти ли го програмираш? Ако е възможно, накарай го за добавя Ентер след всяка дума. Мисля, така ще е най-лесно.
А освен бакспейс, и дел символ също търка. Освен това има символи, които игнорират следващия Ентер. Както вече казах - трябва да ескейпваш.
Може би, ако нямаш контрол над ПИК-а, ще е най-добре да парсваш входа символ по символ и като срещнеш контролни символи да ги заменяш с някакви стрингове. Другият вариант е вместо символно, да изписваш получените данни числово - стойностите в съответния байт в някаква бройна система.

_________________
Digitally yours: Optron


Вто Сеп 15, 2009 3:46 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 4 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни