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

Вниз

Работа с СОМ портом   Найти похожие ветки 

 
zamkom   (2004-01-26 17:35) [0]

Люди подскажите пожалуйста как работать с СОМ портом. Т.е. например мне необходимо послать на 7 ножку напряжение в 5 вольт. Или скиньте плиз линк.


 
jack128 ©   (2004-01-26 17:43) [1]


> Т.е. например мне необходимо послать на 7 ножку напряжение
> в 5 вольт
не помню я распайку порта, что там деает 7 нога, но на компе тебе врядли удастся выдать 5 вольт. По стандарту напряжение лог нуля +5 - +12В , но реально большенство компов выдает около 12. А вот PocketPC (по крайней мере Mio 338) выдает действительно 5В (плюс - минус погрешность глазомера ;-))


 
zamkom   (2004-01-26 17:49) [2]

jack128 ©   (26.01.04 17:43) [1]
Да про вольты я так просто написал мне принцип главное.


 
jack128 ©   (2004-01-26 17:52) [3]


> Да про вольты я так просто написал мне принцип главное.
А ты почаще "так просто" пиши, будешь часто ненужные ответы получать.

Пошуруй в разделе "статьи" этого сайта. Скачай какой нить компонент с торри.нет (для начала TCommPortDriver сойдет)


 
Dmitriy_G ©   (2004-01-27 06:20) [4]

//Для начала инициализация
begin
HCom:=CreateFile(PChar(ComboBox1.Text),GENERIC_READ+GENERIC_WRITE,0,nil,Open_Existing,FILE_ATTRIBUTE_NORMAL,0);
If hCom=INVALID_HANDLE_VALUE then Exit;

//Настройка COM порта
GetCommState(HCom,SpCom);
SpCom.BaudRate:=CBR_2400; //скорость
SpCom.Parity:=NOPARITY; //четность
SpCom.StopBits:=ONESTOPBIT; //кол стоп бит
SpCom.ByteSize:=8; //кол байт
SetCommState(HCom,SpCom); // Устанавливаем параметры

EscapeCommFunction(HCom,CLRRTS); //Сброс RTS
end;

//Далее передаем

cO:=StrToInt("$0"+Edit1.text);

//Проверить наличие CTS, если True то

GetCommModemStatus(HCom,StatusCOM);
If MS_CTS_ON and StatusCOM <> 0 then
begin
EscapeCommFunction(HCom,SETRTS); //Уст RTS
//Принимаем Байт
//------------------------------
 ReadFile(HCom,cI,1,n,nil);
 Label1.Caption:=IntToStr(cI);
//------------------------------
 EscapeCommFunction(HCom,CLRRTS); //Сбр RTS
end;

// Передаем Байт
EscapeCommFunction(HCom,SETRTS); //Уст RTS

// Проверяем наличие CTS
Repeat
GetCommModemStatus(HCom,StatusCOM);
Until (MS_CTS_ON and StatusCOM <> 0);

//*********Передаем Байт************
//Если CTS установлен, передаем байт
 WriteFile(HCom,cO,1,n,nil);

 EscapeCommFunction(HCom,CLRRTS); //Сброс RTS

end;

Прошу прощения если где нагрешил. Если нужно исходник намылю.
Всего.


 
tesseract ©   (2004-01-27 09:25) [5]

RS232 - последовательный порт, там нельзя управлять ножками Только TxD, RxD, ну и CtS, Rts


 
zamkom   (2004-01-27 10:31) [6]

Dmitriy_G ©   (27.01.04 06:20) [4]
Пожалуйста сбрось на мыло, буду ждать.


 
zamkom   (2004-01-27 10:33) [7]

tesseract ©   (27.01.04 09:25) [5]
Если нельзя управлять ножками на СОМ порте, то можно ли ими управлять на LPT?


 
Dmitriy_G ©   (2004-01-27 12:11) [8]

Всеми ножками можно управлять если они настроенны на вывод. Что тут непонятного :) Другое дело как
ЗЫ я про СОМ и LPT, а то придеретесь еще :)


 
Dmitriy_G ©   (2004-01-27 12:23) [9]

zamkom   (27.01.04 10:31) [6]
Отправил, только сильно не ругайся. Она для сопряжения ПикаF877 и компутера по RS-232



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

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

Наверх





Память: 0.47 MB
Время: 0.041 c
7-1074159901
Vyacheslav
2004-01-15 12:45
2004.04.04
Отключить, поменять в эксплорере прокси


1-1079361906
ki11er
2004-03-15 17:45
2004.04.04
Как получить выделенный в IE кусок текста?


3-1078162992
ceval
2004-03-01 20:43
2004.04.04
поменять в таблицы DisplayLabel ,DisplayWidth


1-1079077976
Fame
2004-03-12 10:52
2004.04.04
Вывод строк БЕЗ незначащих пробелов.


1-1079694625
*light*
2004-03-19 14:10
2004.04.04
Обработка нажатия нескольких кнопок





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский