Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Мешаеться символ окончания строки Добавлено: 24.10.09 02:02  

Автор вопроса:  Br.Misha
Здраствуйте!
В программировании на VB я не очень поэтому прошу сильно не ругать.

Вобщем делаю один девайс которым частично буду управлять с компа, поетому мне нада передавать/принимать строки через СОМ порт. Передаеться и принимаеться всё нормально но вот при передачи строки прога передает ещё и символ окончания строки и поэтому я не могу нормально передавать данные.
Кто нибуть подскажет как сделать так, чтобы не передавался этот символ в СОМ порт?

Заранее спасиба!

Ответить

  Ответы Всего ответов: 22  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 24.10.09 10:23
Если ты покажешь код передачи, то может и подскажем.

Ответить

Номер ответа: 2
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #2 Добавлено: 24.10.09 13:41
А мне интересно, как можно управлять устройством, через порт. В смысле каким именно кодом сие можно реализовать?

Ответить

Номер ответа: 3
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #3 Добавлено: 24.10.09 17:39
Smith, щас немогу показать потому что не дома. седня вечером постараюсь.
UnDeAdZak, ну как бы вам так сказать... есть например микроконтролер и у него есть порт для связи с ПК(в моем случае это UART(СОМ)) я передаю через СОМ порт комманду на МК а сам МК после этого уже решает что будет делать:)

Ответить

Номер ответа: 4
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #4 Добавлено: 24.10.09 22:30
ну что, разве никто не знает?

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 24.10.09 22:42
Br.Misha, ты код не привел.
Причина по которой передается символ (а точнее, как правило, два символа) переноса строки заключается в том, что ты сам передаешь этот символ.

Ответить

Номер ответа: 6
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #6 Добавлено: 24.10.09 23:00
ой, точно, забыл:(.
Вобщем только что методом научного тыка выяснил, что еси написать
  1. SerialPort1.WriteLine("hello")
то в конце передаеться символ NULL но еси писать
  1. SerialPort1.Write("hello")
то он не передаеться!
Ну вроде бы я решил свою проблему, но мне интерестно, можно ли как нить отправить в СОМ порт строку без NULL коммандой SerialPort1.WriteLine?
Думаю что остальной код ненужно публиковать, но еси нада, то могу:)

Ответить

Номер ответа: 7
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #7 Добавлено: 24.10.09 23:25
Br.Misha я в курсе, как это происходит, я спрашивал каким образом это можно реализовать с помощью кода?

Ответить

Номер ответа: 8
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #8 Добавлено: 24.10.09 23:27
эм...... я не совсем понял что вы хотите от меня услышать:( Можна как то понятней:)?

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 25.10.09 13:08
Br.Misha, так writeline тем и отличается от write.. очевидно.
UnDeAdZak хочет знать как передавать данные на порт. Как конкретно работает SerialPort1.Write

Ответить

Номер ответа: 10
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #10 Добавлено: 25.10.09 21:45
Тоесть в бейсике просто есть компонент SerialPort, который отвечает за порты?

Ответить

Номер ответа: 11
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #11 Добавлено: 25.10.09 21:46
а, ну так бы сразу сказали:).
Чтобы передать нада кинуть на форму элемент SerialPort, сделать необходимые настройки и отправлять в порт коммандой SerialPort
  1. SerialPort1.Write(а тут данные)

Ответить

Номер ответа: 12
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #12 Добавлено: 25.10.09 22:20
И еси можна, то задав вопрос не по теме:)
Как преобразовать значение типа Char в строку?
Вот например есть значение
  1. Chr(77)
и по таблице символов ASCII это будет символ "M" а мне нада получить строку в которой должно быть записано это же значение тока строкой, тоесть "77"

Ответить

Номер ответа: 13
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #13
Добавлено: 25.10.09 22:32
Br.Misha, это не значение chr, а параметр передаваемый chr)
Asc("M";)

Ответить

Номер ответа: 14
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #14 Добавлено: 25.10.09 23:31
Вы наверно не так поняли:)
Комманда Asr работает не нак как мне нужно, она возвращает десятиричный код символа в виде строки.
Обьясню на примере:

Предположим через СОМ-порт мне пришло значение Chr(107),это тот же символ "k" по таблице ASCII, а мне нада чтобы какая нить функция переделала это значение в строку в которой будет "107", тоесть уже не в десятеричной кодировке а в виде понятных нам символов.

Ответить

Номер ответа: 15
Автор ответа:
 Br.Misha



Вопросов: 10
Ответов: 24
 Профиль | | #15 Добавлено: 25.10.09 23:33
проблему решил, это делаеться коммандой
  1. CStr(число)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам