Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Вниз

СОМ-порт   Найти похожие ветки 

 
andrewtitoff ©   (2009-11-30 22:59) [0]

Здравствуйте!, подскажите как отслеживать состояние СОМ-порта, передача данных не нужна, нужны только статусы, а если быть точнее - то нужны только состояния 1-ого и 8-ого пина?


 
andrewtitoff ©   (2009-11-30 23:04) [1]

Это мне нужно для отслеживания состояния старенького ИБП, там просто перемыкаются пины 7+8= AC Fail, 7+8+1=Shutdown, покрайне мере так работают стандартные виндовые дрова(подбирал почти методом тыка)

7-пин = +11В, 1,8=0В в свободном состоянии, при замыкании упсом напряжение подается на 8-ой и 1-ый пин


 
Вариант   (2009-12-01 07:07) [2]

Почитай о CreateFile +GetCommModemStatus (по хорошему SetCommState тоже надо для инициализации порта) - это просто для чтения состояния пинов порта. Если нужно оперативное оповещение об изменении состояния, то смотри еще SetCommMask и WaitCommEvent.
И да не факт, что обязательно будет на 7-пин = +11В, об этом лучше позаботиться самому, смотри еще  EscapeCommFunction.
Для  получения более подробной информации рекомендую почитать статьи о работе с COM портом например на королевстве дельфи или где еще в интернете.


 
Andrewtitoff ©   (2009-12-01 10:40) [3]


> Вариант   (01.12.09 07:07) [2]
> Почитай о CreateFile +GetCommModemStatus (по хорошему SetCommState
> тоже надо для инициализации порта) - это просто для чтения
> состояния пинов порта. Если нужно оперативное оповещение
> об изменении состояния, то смотри еще SetCommMask и WaitCommEvent.
>  И да не факт, что обязательно будет на 7-пин = +11В, об
> этом лучше позаботиться самому, смотри еще  EscapeCommFunction.
>  Для  получения более подробной информации рекомендую почитать
> статьи о работе с COM портом например на королевстве дельфи
> или где еще в интернете.

Да, на счет седьмого пина верно!, т.к. возможно +11 стандартные виндовые дрова дают...

А просто как нибудь через порты нельзя?


 
Andy BitOff ©   (2009-12-01 10:45) [4]

Сорри, я не в теме, но видел недавно на исходниках исходники (каламбур =) ) Класс для работы с COM-портом - http://forum.sources.ru/index.php?s=b540cf0cf183c76791c8e96012715f55&showtopic=173025
Может поможет.


 
Вариант   (2009-12-01 11:33) [5]


> Andrewtitoff ©   (01.12.09 10:40) [3]


> Да, на счет седьмого пина верно!, т.к. возможно +11 стандартные
> виндовые дрова дают...


Это я насчет того, что мало ли какая прога до твоей пользовалась портом и неизвестно как она его настроила, в каком состоянии бросила. EscapeCommFunction позволяет установить + или - грубо говоря, на выходе управляющих пинов порта - очень проста - EscapeCommFunction(hPort,SETRTS) - где hPort -хэндл порта, полученный при успешном вызове CreateFile. Описание функций естьв MSDN. Ну или воспользуйся готовым компонентом для работы с портом (как правило упрощает написание программ), в интернете были хорошие компоненты. Можно и просто через порты, если использовать драйвер - какие-то тоже были в интернете, но мне кажется лучше использовать API или нормальный компонент - ибо вся функциональность там есть, чем использовать  "лом" (это я о драйвере).


 
andrewtitoff ©   (2009-12-01 20:06) [6]


> Можно и просто через порты, если использовать драйвер

Чет я непонял, а при чем тут драйвер?, я вообще-то про прямое обращение к порту...
как раньше было на паскале
a:=port[3f8h]
на дельфе ща вроде так нельзя, но можно же извратиться встроеннвм асмом, что то вроде
function  Readpk(Addr : WORD) : byte;
var
value : byte;
begin
asm
 push eax
 push edx
 mov dx,Addr
 in al,dx
 mov value,al
 pop edx
 pop eax
end;
Readpk:=value;
end;


 
Германн ©   (2009-12-01 20:11) [7]


> но можно же извратиться встроеннвм асмом

Низзя.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
2-1259677152
SergP
2009-12-01 17:19
2010.01.24
Запуск консольного приложения из доп. потока


2-1259848543
kate158
2009-12-03 16:55
2010.01.24
добавление д-х из excel на пересечении строки и столбца


4-1227216337
demon
2008-11-21 00:25
2010.01.24
Количество Items на помещаеться


2-1259680317
azl
2009-12-01 18:11
2010.01.24
Запись свойства компонента Visible в файл с помощью TFileStream


15-1258622491
ЮАР-2010
2009-11-19 12:21
2010.01.24
Футболисты сборной России вновь порадовали болельщиков!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский