Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Lpt порт

7.7K
20 марта 2005 года
Anton S.
45 / / 20.03.2005
Скажите пожалуйста надо ли для LPT порта инициализировать структуру dcb? Если надо,то как?
243
21 марта 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Anton S.
Скажите пожалуйста надо ли для LPT порта инициализировать структуру dcb? Если надо,то как?


Да здравствует ПОИСК, дай ему бог, здоровья и благополучия ;)
Набираем google.ru, или ya.ru и вводим "(Титов Олег) && COM порт"

7.7K
21 марта 2005 года
Anton S.
45 / / 20.03.2005
Наглухо виснет программа, когда я пишу в файл, или пытаюсь его закрыть. Я собственно поэтому и спрашивал, думал, что из-за того, что не установлены параметы LPT порта.
243
22 марта 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Anton S.
Наглухо виснет программа, когда я пишу в файл, или пытаюсь его закрыть. Я собственно поэтому и спрашивал, думал, что из-за того, что не установлены параметы LPT порта.


Секунду, а что пишешь? То, что приходит из порта? И что за файл пытаешься закрыть?
Или под файлом подразумевается порт? Тогда - чем (в смысле функции) пишешь?
Можно кусок кода на обозрение, а то получается гадание на кофейной гуще...

7.7K
22 марта 2005 года
Anton S.
45 / / 20.03.2005
char *lptdata="Test_string";
DWORD bufwritten=0;
HANDLE port;
port=CreateFile("LPT1", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 1, NULL);
WriteFile(port, lptdata, sizeof(lptdata), &bufwritten, NULL);
CloseHandle(port);
243
23 марта 2005 года
pacific_7
1.9K / / 06.09.2004
Ну, во-первых программа не виснет, а ждет реакции со стороны LPT-порта, во-вторых - закрытие порта проходит нормально (во всяком случае у меня). Попробуй выполнить программу с точками останова в интересующих тебя местах - сам убедишься. По поводу структуры dcb: инициализировать ее нужно только для COM-портов (насколько я понимаю это дело).
У тебя есть утройство на порту, с которым ты хочешь общаться? Если нет, то подобная реакция вполне естественна, ну а если есть, то боюсь, что я тебе помочь ни чем больше не смогу. Просто LPT-устройсво по идее должно соблюдать соответствующий протокол работы и послать ответ, что информация считана. Если не посылает, то скорее всего косяки с устройством.
А вообще, желательно все функции непосредственной работы с портами оформлять в отдельных потоках - тогда остальная часть программы будет работать нормально.
ЗЫ Все, что касается LPT - теоритизированние чистой воды т.к. я работал только с COM-портами. Следовательно могу и ошибаться.
11K
06 апреля 2005 года
kenav
2 / / 06.04.2005
А под какую ОС это все пишется?
Просто, например под Win2000? так не получиться.
Точнее у меня не получилось, я только где-то слышал "что вот, мол, как-то так можно общаться с LPT в Win2000", но никто так и не показал как :(
7.7K
06 апреля 2005 года
Anton S.
45 / / 20.03.2005
Пишеся под XP. Пишут, что надо делать так, по идее винда резервирует это имя именно для порта, но закрыть его не получается, это не ожидание ответа, на ножки порта не идет сигнала :(
243
07 апреля 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Anton S.
... но закрыть его не получается, это не ожидание ответа, на ножки порта не идет сигнала :(


Ну - незнаю. У меня нормально открывался и закрывался. Вот писать в него как я не знаю. На счет имени "LPT" - это верно: стандартное устройство ввода-вывода. А что подразумевается "на ножки порта не идет сигнала"? Так подай его туда, и проверь :) Потому и ждет, что сигнала нет, а операция чтения идет. Т.е. пока не прочтет, так и будет ждать. Кстати, что же все-таки за устройство?

7.7K
07 апреля 2005 года
Anton S.
45 / / 20.03.2005
Проверял на 8 сетодиодах, на ножках не становится логической единицы после записи в порт, после чтения обнуляется регистр данных порта:roll: на 2-9 ножках становятся 0.
7.7K
07 апреля 2005 года
Anton S.
45 / / 20.03.2005
Устройство - станок с порграммным управлением для расточки печатных плат
243
08 апреля 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Anton S.
Проверял на 8 сетодиодах...


А вы Титова внимательно читали? Там как раз на эту тему и написано - так в винде ничего не получится, т.к. она ожидает работы по протоколу Centronics со стороны устройства. Как обстоят дела с протоколом на вашем станке?
Кстати, расточка печатных плат - это как? У меня два семестра шел предмет на эту тему, чего там только не было, но такого...

11K
12 апреля 2005 года
kenav
2 / / 06.04.2005
Цитата:
Originally posted by Anton S.
Пишеся под XP. Пишут, что надо делать так, по идее винда резервирует это имя именно для порта, но закрыть его не получается, это не ожидание ответа, на ножки порта не идет сигнала :(



Лично я очень долго мучился с LPT-портом в WIN2K. Получалось открывать/закрывать, но писать читать так и не удалось.
Правда ус-во у меня было довольно "тупое" и о поддержки какого-либо протокола речь не шла.
Пришлось написать простенький драйвер.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог