![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Namtar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.9.2008 Репутация: нет Всего: нет |
есть прога для передачи данных по COM-порту. вроде данные передает (проверял специальной прогой для COMа), но что-то явно не так! думаю дело в управлении потоком. прочитал вот такую штуку http://www.delphikingdom.com/asp/viewitem.asp?catalogid=389 возможно загвоздка именно в неправильных настройках передачи. вот только у меня в настройках DCB нету и половины настроек, описанных в статье. поможите плиз как можно все-таки поработать с этими DTR и RTS control-ами?!
|
|||
|
||||
dvamaster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 30.6.2004 Где: Россия : Курган Репутация: 2 Всего: 10 |
Приведи кусок кода с настройками и передачей
-------------------- Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/ Что же я сделал не так? /Король Лир/ Я делаю это для твоего же блага! /Любой родитель и палач/ PKUNZIP.ZIP /неизвестный/ |
|||
|
||||
Namtar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.9.2008 Репутация: нет Всего: нет |
procedure TForm1.PortInit;
var port: string; begin port:='\\.\'+combobox3.Text; CommHandle := CreateFile(PChar(port),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0); // пишем в порт SetCommMask(CommHandle,EV_RXCHAR); GetCommState(CommHandle,DCB); DCB.DCBlength := SizeOf(TDCB); if form1.ComboBox4.Text='1200' then DCB.BaudRate:=CBR_1200; if form1.ComboBox4.Text='2400' then DCB.BaudRate:=CBR_2400; if form1.ComboBox4.Text='4800' then DCB.BaudRate:=CBR_4800; if form1.ComboBox4.Text='9600' then DCB.BaudRate:=CBR_9600; if form1.ComboBox4.Text='14400' then DCB.BaudRate:=CBR_14400; if form1.ComboBox4.Text='19200' then DCB.BaudRate:=CBR_19200; if form1.ComboBox4.Text='38400' then DCB.BaudRate:=CBR_38400; if form1.ComboBox4.Text='57600' then DCB.BaudRate:=CBR_57600; if form1.ComboBox4.Text='115200' then DCB.BaudRate:=CBR_115200; if form1.ComboBox4.Text='256000' then DCB.BaudRate:=CBR_256000; if form1.ComboBox1.Text='NO' then DCB.Parity:=NOPARITY; if form1.ComboBox1.Text='ODD' then DCB.Parity:=ODDPARITY; if form1.ComboBox1.Text='EVEN' then DCB.Parity:=EVENPARITY; if form1.ComboBox1.Text='MARK' then DCB.Parity:=MARKPARITY; if form1.ComboBox1.Text='SPACE' then DCB.Parity:=SPACEPARITY; if form1.ComboBox2.Text='5' then DCB.ByteSize:=5; if form1.ComboBox2.Text='6' then DCB.ByteSize:=6; if form1.ComboBox2.Text='7' then DCB.ByteSize:=7; if form1.ComboBox2.Text='8' then DCB.ByteSize:=8; if form1.ComboBox5.Text='1' then DCB.StopBits:=OneStopBit; if form1.ComboBox5.Text='1,5' then DCB.StopBits:=One5StopBits; if form1.ComboBox5.Text='2' then DCB.StopBits:=TwoStopBits; SetCommState(CommHandle,DCB); CommThread := TCommThread.Create(True); if CommThread = nil then begin //ошибка, все выключаем и выходим Application.MessageBox('Ошибка инициализации потока', 'Ошибка', MB_OK); Form1.Button3.Click; Exit; end; CommThread.Priority:=tplowest; CommThread.Resume; end; хочу к этому привязать возможность устанавливать DTR и RTS control-ы! |
|||
|
||||
Virtuals |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
это то что ты хочеш?
ручками взводить сигналы?...
|
|||
|
||||
Namtar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.9.2008 Репутация: нет Всего: нет |
EscapeCommFunction это конечно хорошо, но необходимо получить возможность в программе выбирать тип DTR и RTS, а с EscapeCommFunction нельзя сделать handshake и toggle
|
|||
|
||||
Virtuals |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
Namtar,
оно?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |