![]() |
|
|
![]()
|
|
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Так что делать? Я слежу за советами.
|
|||
|
||||
| korotkov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
>fBinary и так по умолчнаию равно true
поэтому я и написал: а ты всеравно поставь! >Так что делать? Работать! Все пропускается, я вообще данные гонял в двоичном режиме, т.е. передавал float с контроллера как четыре байта на компе их выворачивал и склеивал. Данных было огромное количество, заполнялась база данных - и ничего все работает! 1. проверь а отправляются ли они с контроллера, влоть до того что шли только этих два символа в цикле, а осцилом смотри что уходит ... 2. принимаемые данные смотри в своем массиве или что там у тебя, смотри в двоичном режиме, а не текстовом ... 3. проверь соответствие количества отправленных и принятых байт, может ты просто их не видишь ;) т.е. смотришь средствами, которые не отображают символы ... |
|||
|
||||
| Ivan. |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: нет Всего: 2 |
Смотрите о я нашел:
В структуре DCB есть поля XonChar и XoffChar равные по умолчанию соответственно 0x11 и 0x13 это не символы перевода каретки (10[0x0A] и 13[0x0D]) их то вы и не можите принять. эти поля связаны с флагами fOutX и fInX. Сейчас буду разбираться дальше (зачем они нужны). -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
|||
|
||||
| black_priest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
2ZPavel: убери из строки LPCTSTR lpDef="2400,n,8,1,x" символ "x" в конце и будет тебе счастье, если только в этом причина. Действительно, как заметил Ivan, при установленных битах fOutX и fInX символы XonChar и XoffChar используются для программного управления потока, и поэтому не могут быть приняты. Если параметр fInX true, сигнал XoffChar посылается , когда входной буфер находится в пределах XoffLim байтов, а сигнал XonChar посылается в случае, если входной буфер находится в пределах XonLim байтов или является пустым. Параметр fOutX
определяет, используется ли управление потоком XON/XOFF в течение передачи потока порту. Если параметр true, передача останавливается, когда получен сигнал XoffChar и возобновляется в случае если получен сигнал XonChar. Насчет твоего "x' в mode-строке читаем MSDN:
т. е. таким образом ты инициализирушь порт с ненужным тебе программным управлением потоком со всеми вытекающими последствиями. |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Ура, получилось. Убрал "x", и заработало. Большое, огромное спасибо. Пошел праздновать.
Это сообщение отредактировал(а) ZPavel - 25.4.2007, 17:59 |
|||
|
||||
| black_priest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 19.3.2007 Где: Minsk Репутация: нет Всего: нет |
Слава Богу.
Это сообщение отредактировал(а) black_priest - 24.4.2007, 08:51 |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |