![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Crait |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Тоесть, что ж там в ядре у виндов наворочено ? Ну-ну... Я уже писАл здесь, что установить DTR/RTS можно через EscapeCommFunction(), если уж не хочется работать через компонент, а в Win9X и Me кроме этого, проходит и прямой вывод в соответствующий регистр управления UART'ом : outportb(port_address+4, ... ) Так же и в DOS'е. |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Причем здесь ядро? И причем здесь DTR/RTS? December кажется не может девайс к устройству подключить или обмен наладить (или и то и другое), а ты DTR/RTS... Что это ему дает? 6 букв? Тогда можно было 2 раза х#й написать (тот же эффект).
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Может. Устройство, которое будет вешаться, передаёт сигналы битами. Мне не нужен байт, чтобы получить сигнал о, например, переключении на следующий датчик. Также мне не нужен байт, чтобы заблокировать что-то - мне требуется всего лишь логическая единица в конкретной линии. |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Суть проблемы в том, чтобы:
1) использовать масимальное количество линий одновременно; 2) отказаться от байтового протокола. |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
А 00000000 и 00000001 это не байты? :-) Ком-порт ПОСЛЕДОВАТЕЛЬНЫЙ, естественно в единицу времени передается бит. Вот он и передает последовательно биты, которые составляют байты. Т.е. твоя логическая единица будет выглядеть как второй вариант (возможно). Опять же Ломиконт. У него есть платы АЦП и ДЦП (не паралич :-)). Соосно - аналоговый и дискретный преобразователи. Один ДЦП может обслужить несколько групп сигналов (вкл/выкл). В одной группе - 8 сигналов. (8 датчиков). Допустим мы запрашиваем состояние датчиков у 3-й группы и получаем БАЙТ=197 (в десятичной). Делаем проверку по маске (00000001) от 0 до 7 со сдвигом 1-го бита.
Грубо: ФЖ=197; Mask:=1; For i:=0 to 7 do begin if (A and Mask)=Mask then прибор включен else выключен Mask:=(Mask shl 1); end; Или 197 в десятичной = 11000101 в двоичной. 1-включен, 0 -выключен. С аналоговым сигналом сложнее (значение приходит двумя байтами в которых кодируется знак и величина). Может тебе это и не надо, но на всякий случай. |
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
Для работы с Com портами (и не только) очень хороша библиотека компонентов Async Pro. Ее можно считать практически стандартной.
В досе стандартных (или массовых) библиотек нет. Хотя, основные функции легко реализовать самостоятенльно. Для этого необходимо описание работы самого порта и понимание задачи. Описание работы Com портами есть в любой книге по железу компов (Архитектура IBM PC и т.п.), по разработке устройств сопряжения (Напр. Разработка устр. сопряжения для персонального компьютера типа IBM PC/Новиков Ю.В., Калашников О.А, Гуляев С.В., М.ЭКОМ, 1998), программирование на асме (Например, известная книга Т. Свана), Программирование на С и т.д. и т.п. Короче, если всего этого недостаточно, то могу сбросить на мыло пару текстовиков. -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| Crait |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
2 Dapo
Я конечно не знаю, как сформулировал себе задачу December, но предполагаю, что ему не охота возиться с контроллерами и ихними UART'ами и драйверами последовательной связи. А хочет он слепить нечто на рассыпухе, позволяющее выводить и/или вводить dat'у в компьютер. И для этих целей DTR и RTS очень даже подходят. В свое время я сделал, например, эмулятор ПЗУ, работающий через упомянутые DTR и RTS и с "бит-ориентированным" протоколом. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Ok. Подскажите за одно, где качнуть AsyncPro (по-новее). Хочу с ней поковыряться, а ссылки найти не могу.:-(
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Во. Самое оно. Однако этот проект откладывается на несколько месяцев, так что выражаю благодарность всем участникам топика и предлагаю считать тему закрытой. |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |