![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
А что это за 9-й бит такой??? Как его читать\устанавливать в программе??? Везде излазил - но все пишут что можно но никто не говорит как?! ПОМОГИТЕ! Это сообщение отредактировал(а) AlexNor - 23.9.2004, 10:32 --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
Классический пример протокола для RS232. 9-ый бит - бит паритета. Смотря на чем ты пишешь и с использованием каких средств, зависит как его савить/снимать.
-------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Darked
в смысле бит чётности? если да то тогда не понятно как с ним работать. Пишу на С++. Проблема в чём: для передачи байта
т.е. я хочу передать один байт с установленым битом чётности а другой нет. Но возникает проблема а при приёме как мне узнать у какого из принятых байт установлен бит чётности, а у какого нет??? Ведь ReadFile возвращает токо сам байт! Это сообщение отредактировал(а) AlexNor - 24.9.2004, 13:30 --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Russ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 27.4.2004 Репутация: нет Всего: нет |
9-й бит и бит паритета - это две обсолютно разные вещи. 9-й бит поддерживают некоторые микроконтроллеры, например MCS 51, и он прибавляется аппаратно. Его назначение может быть различное, в зависимости от применяемого программного решения. Обычно 9 бит исрользуют при обмене информации с другими микроконтроллерами. В PC RS-232 9 бит не поддерживает. |
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Из описания:
"Давтчик является автономным устройством на интерфейсе RS485". Точно - что он работает с PC. (есть прога с которой он общается - она под винду-но исходников её нету По документации сказано только что при передаче байта с адресом неободимо установить КОНТРОЛЬНЫЙ РАЗРЯД в 1. При передаче информационных байт КОНТРОЛЬНЫЙ РАЗРЯД долженн равнятся 0. Я вот и не пойму: Что это за контрольный разряд такой - в одном форуме выцепил вот-что
это то что мне нужно. Но токо как с ним работать под виндой ума не приложу - и нигде ни слова об этом! Отослать байты - пол беды. Вроде через SetCommState я могу установить с каким битом чётности (установленным или нет) передавать байт, НО КАК МНЕ ПРИНЯТЬ этот байт так что бы посмотреть - установлен ли там бит чётности или нет - незнаю --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
Russ
Может я чего - то не понимаю, а в чем разница??? При передачи по RS232 бит паритете и используется обычно для отделения данных от адреса. ИМХО так. -------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Darked
да-да-да!!! НО КАК ПОД ВИНДУ ЭТО СДЕЛАТЬ??? --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
AlexNor
Думаю, мануаы просматриваю,исхдоники....ищу -------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| AlexNor |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Darked
спасибо я уже третий день инет лопачу - и нефига Пробовал и так: 1. передавал два байта предварительно установив
2. передавал два байта предварительно установив
При приемё каждого байта вызывал GetCommState - результат отрицательный - он мне возвращал свои настройки (настройки принимающей стороны). Может через DeviceIoControl как-то можно - я туда залез - дебри.... --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
||||
|
|||||
| Gorlum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.9.2004 Репутация: нет Всего: нет |
9-й бит это бит четности, ты должен ставить его перед передачей.
Если хош, я могу тебе дать пару доков по УАРТу (конспекты електронные с политеха остались) |
|||
|
||||
| AlexNor |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Gorlum
я и ставлю перед передачей:
проблема в том что я его принять не могу (бит чётности этот). В смысле ReadFile возвращает токо байт! и всё! А с каким он битом чётности пришёл - это знает токо драйвер наверное. Т. е. я хочу узнать: как в Win32 API у каждого принятого байта анализировать с каким битом чётности он пришёл???
давай, буду благодарен - авось там есть что нить по этому поводу [email protected] Это сообщение отредактировал(а) AlexNor - 25.9.2004, 14:36 --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
||||
|
|||||
| Gorlum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.9.2004 Репутация: нет Всего: нет |
Тебе не надо его принимать он устанавливается непосредственно при передаче информации, и если ты принимаешь какой либо байт то бит четности еденица, бо без него низзя передать ниче.
То шо ты мне код переслал я дупля не отбиваю, я пока что пишу свой первый калькулятор на цпп, я больше по микроконтроллерам. Ща перешлю на мыло доки но они правда тоже больше по железу но про бич четности там гденить быть обязано. |
|||
|
||||
| Gorlum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.9.2004 Репутация: нет Всего: нет |
Отправил, если шо, стукни в асю 124944684
|
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Gorlum
принимать-то как раз мне его и надо инфу принял - но там (в основном) электронная часть... --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
| Gorlum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.9.2004 Репутация: нет Всего: нет |
Ты можешь что нибудь получить без этого бита, или тебе именно надо организовать ожидание начала передачи?
Если при помощи ReadFile ты можешь осуществлять прием, тебе не надо ловить этот бит - если передача началася то он стоит, нет значит нет передачи. Если те надо именно ожидать его появления я бы посоветовал написать это на асме
на кой черт тебе надо принимать этот бит? |
|||
|
||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
Gorlum
Прочитай еще раз его вопорс ; ))))) А если серьезно, то по протоколу данные от адреса отличаются установкой 9-го бита. ВотAlexNor 'у и нужно определять установку или отсутствие этого бита, чтобы понять что же ему пришло. -------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| AlexNor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 11.6.2004 Репутация: нет Всего: 2 |
Darked
я тут что то нарыл с DeviceIoControl. Из MSDN (ms-help://MS.MSDNQTR.2003APR.1033/devio/base/ioctl_serial_lsrmst_insert.htm)
Но блин я эту функцию понять не могу! Это сообщение отредактировал(а) AlexNor - 25.9.2004, 22:12 --------------------
"... зачем тратить время на учение, если невежество даётся даром..."" .... но невежество обходится, порой, слишком дорого... " |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |