|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.03.2009, 09:32 | #1 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Как работать с компонентом CPort
Необходимо работать с Com портом компа.
Поставил компонент CPort --очень неплохо облегчает работу,но есть некоторые сложности которые никак не могу понять--может кто подскажет??? 1)Надо передавать и принимать данные размером от 12 до 23 байт--так вот данные принимаются только до 8 байт--если данных больше 8 байт то принимаются байты с 9 по 16---я так понимаю проблемы с буфером--но какой бы размер входного и выходного буфера я не ставил--все равно тоже самое--как победить??????? Кстати передача идет так же по 8 байт--соединил два порта кабелем на один посылаю данные а на другом ловлю--так вот программа что следит за приемом отображает что приходит посылка 8 байт , а потом еще одна остальные 2)Никак не могу изменить программно скорость--как выставил изначально в свойствах скорость так и стоит |
05.03.2009, 12:23 | #2 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
1 Если хотите считать строку
то Код:
Код:
Код:
Последний раз редактировалось SERG1980; 05.03.2009 в 12:27. |
05.03.2009, 13:28 | #3 | ||||
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Цитата:
если данные >8 то s=9-16 байт Цитата:
SERG1980---огромное спасибо дружище!!!!!!!!! Цитата:
Еще раз огромное спасибо--очень выручил!!!!!! Цитата:
Не плодите посты - есть кнопка "Правка". Избегайте ненужного цитирования. И то, и другое - нарушения. Рекомендую почитать правила раздела. Последний раз редактировалось mihali4; 06.03.2009 в 14:59. Причина: Объединение постов |
||||
05.03.2009, 15:11 | #4 | |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Цитата:
можно сделать так 1Вариант Код:
Код:
3 Вариант (самый простой) Кидаем компонент ComComboBox (входит в состав CportLib) в св-ве ComPort указываем порт которым будем управлять, а в св-ве ComProperty указываем, что будем менять в вашем случае это изменение скорости cpBaudRate |
|
05.03.2009, 16:47 | #5 | |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Цитата:
Со скоростью тоже самое Сначало забыл указать в св-ве ComPort каким портом управлять--сейчас поставил--тоже самое --не меняет--может потому что ComboBox находиться на другой форме??? Кстати щас проверил--принимаются все байты , а вот отправляются все равно посылками по 8 байт --может на timeouts.WriteTotalMultiplier:=60; timeouts.WriteTotalConstant:=100; --другие параметры поставить нужно. Отправляю на скорости 19200 , 12 байт--уходят две посылки--8 байт + 4 байта |
|
06.03.2009, 08:16 | #6 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Не знаю что у вас за посылки как вы изменяете скорость порта, а потому
если не секрет, то выложите код, где у вас не получается и не мешало бы посмотреть на данные, которые вы отправляете Да и попробуйте ещё следущее Код:
Последний раз редактировалось SERG1980; 06.03.2009 в 08:36. |
06.03.2009, 10:19 | #7 | |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
SERG1980 , вот это помогло))))--спасибо!!!
Код:
Код:
отправляю вот так Код:
Цитата:
|
|
06.03.2009, 13:31 | #8 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Я в порт всегда строкой передавал т.е переводил каждый байт в символ
(например в цикле s:= s+chr(FBuf[i]), где s:string) и эту s передавал |
06.03.2009, 13:50 | #9 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Попробовал --все равно бьет по 8 байт--блин даже не знаю что и делать то?????
Пробовал разные варианты timeouts.WriteTotalMultiplier timeouts.WriteTotalConstant--не помогает Обратите внимание на свой пост №3 Последний раз редактировалось mihali4; 06.03.2009 в 15:00. |
06.03.2009, 15:45 | #10 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
А может это просто программа, которой вы смотрите, так выдаёт?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работать с Rave? | Araver | БД в Delphi | 2 | 16.02.2009 22:07 |
Как работать с диалогами | Arassir | Помощь студентам | 1 | 11.11.2008 20:51 |
Как пользоваться компонентом PrintDialog? | Bill Gates | Общие вопросы Delphi | 1 | 30.12.2007 20:15 |
Как работать c USB? | Araver | Общие вопросы Delphi | 4 | 05.11.2007 18:41 |
Как работать с графикой? | Yogurt | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 29.04.2007 07:12 |