|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.06.2011, 10:13 | #1 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Как записать в COM порт символы CR и LF ???
Ребят, как записать в COM порт символы возврата каретки и переноса сроки CR и LF?
При попытке записи посредствам команды WriteFile, каждый символ транслируется в HEX, всё бы ничего, но символы CR и LF транслируются не правильно. Как бы сделать так, чтоб они транслировались именно в 0D и 0A ? |
06.06.2011, 10:33 | #2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Отранслируйте сами. |
|
06.06.2011, 10:51 | #3 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Ну почему же.
Вот есть у меня строка в ASCII такого плана :010609000001EF CR LF которую надо отправить на контроллер, но надо отправить в HEX, причём ":" должно равняться "3A", а CR и LF соответственно "0D" и "0A". Тоесть строка должна быть такого плана: 3A 39 31 39 36 30 39 30 30 30 30 30 31 45 46 0D 0A Как быть - то ? |
06.06.2011, 11:07 | #4 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
А вообще можно ли как то выбирать тип данных, которые я хочу отправить в COM порт? Вот в программах-терминалах, например COM port tool kit, можно выбирать что ты отправляешь, строку в ASCII или в HEX. Можно ли где - то это настроить?
|
06.06.2011, 13:12 | #5 | |||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Цитата:
Цитата:
Последний раз редактировалось p51x; 06.06.2011 в 13:15. |
|||
06.06.2011, 14:00 | #6 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
А таймауты обязательно настраивать в ком порте или стандартные подойдут?
|
06.06.2011, 14:57 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Все зависит от оконечного устройства и протокола.
|
06.06.2011, 15:48 | #8 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Да чё ж делать то...не работает ничего :-))
Вот есть программа COM Port toolkit. В ней я могу выбрать тип вводимых дланных типа HEX и ввести строку 3A 39 31 39 36 30 39 30 30 30 30 30 31 45 46 0D 0A Отправляю в порт и контроллер на неё правильно реагирует. В С++ пишу: char buf[]="3A 39 31 39 36 30 39 30 30 30 30 30 31 45 46 0D 0A"; WriteFile(Тра лала,buf,strlen(buf)тра лала); И КОНТРОЛЛЕР ВООБЩЕ НИКАК НЕ РЕАГИРУЕТ.... Думаю, что это значит только одно - программа COM Port ToolKit как то по хитрому отправляет это сообщения, не так как я, по этому всё и работает. Где косяк то ? |
06.06.2011, 15:54 | #9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Код:
|
06.06.2011, 16:06 | #10 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как прослушать порт | SERG1980 | Работа с сетью в Delphi | 3 | 31.10.2008 09:43 |
как узнать порт? | [Smarik] | Свободное общение | 0 | 04.07.2008 22:38 |
Как опросить COM-порт | Д'якон | Win Api | 10 | 23.02.2008 12:15 |
Как записать в com -порт или модем двоичные данные | sergrom | Win Api | 10 | 25.06.2007 15:15 |
Как открыть порт? | Анатолий74Rfckb | Работа с сетью в Delphi | 5 | 04.02.2007 19:38 |