Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> питания для com порта, пограмное отключение питания 
:(
    Опции темы
cardinal
Дата 6.10.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



ShadeSt, не знаешь ли ты такого терминала, чтобы

Цитата
Чтоб я мог вызывать ее из комадной строки, типа

terminal.exe -sendmode hex -send 0F 5A FE
или
terminal.exe -sendmode char -send A B C D E

И чтобы она, разумеется, не появлялась формой, а там в командной строке работала и завершалась.



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
R0nin
Дата 6.10.2005, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 31.7.2005
Где: Минск (Белоруссия )

Репутация: нет
Всего: нет



to cardinal там напряга в том ковре не столько чтобы чтото сгорело! smile
По началу была мысля сделать с USB но нашел только COM шнур! smile
о что сделано то сделано!
Цитата
Как написать работающий пример, если "прибор" у тебя?
заставить перестать пахать любое сом устройство smile методами представлеными выше, ну или еще как! smile
Добавлено @ 23:51
to ShadeSt ЩАс скачаю прогу попробую ею!
--------------------
Фишка есть во всем, а если фишки нет, то это и есть фишка
PM MAIL ICQ   Вверх
R0nin
Дата 7.10.2005, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 31.7.2005
Где: Минск (Белоруссия )

Репутация: нет
Всего: нет



В общем, при установки галочьки на управление RTS коврик тухнет smile !
То что доктор прописал!
но вопрос тот же, как сие осуществить в DElphi?
--------------------
Фишка есть во всем, а если фишки нет, то это и есть фишка
PM MAIL ICQ   Вверх
cardinal
Дата 7.10.2005, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Цитата(R0nin @ 6.10.2005, 22:10)
В общем, при установки галочьки на управление RTS коврик тухнет

Интересно почему... smile

Ну тогда разбирайся с функцией, которую тебе посоветовали:
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=530564
В Delphi я тебе не помощник...



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ShadeSt
Дата 7.10.2005, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 9.8.2005
Где: Россия, г. Ставро поль

Репутация: нет
Всего: 7



Тухнет потому, что галочка провод передавливает smile
To Cardinal. Нет такой терминалки не встречал, Может потому что никогда не было такой задачи.


--------------------
It's nice to be importand, but it's more importand to be nice © Scooter
PM MAIL ICQ Jabber   Вверх
~FoX~
Дата 7.10.2005, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 0
Всего: 68



Товарисчи, питалово ком порта не управляется программно.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 7.10.2005, 08:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну так у ком порта вообще нет вывода питания наружу у него только сигнальные и земля. тут же речь уже идет о том что питание устройства подвешенного к ком порту, осуществляется посредством установления +12 вольт или "низкого уровня" на сигнальном выводе DTR.
  Вверх
ShadeSt
Дата 7.10.2005, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 9.8.2005
Где: Россия, г. Ставро поль

Репутация: нет
Всего: 7



Точнее, простите, RTS. ошибся


--------------------
It's nice to be importand, but it's more importand to be nice © Scooter
PM MAIL ICQ Jabber   Вверх
Romikgy
Дата 7.10.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Вот код для работы с портом:
Код

unit Unit1; 

interface 

uses 
  Windows; 

type 
  TComPort = class 
  private 
    hFile: THandle; 
  public 
    constructor Create; 
    destructor Destroy; override; 
    function InitCom(BaudRate, PortNo: Integer; Parity: Char; 
      CommTimeOuts: TCommTimeouts): Boolean; 
    procedure CloseCom; 
    function ReceiveCom(var Buffer; Size: DWORD): Integer; 
    function SendCom(var Buffer; Size: DWORD): Integer; 
    function ClearInputCom: Boolean; 
  end; 

implementation 

uses 
  SysUtils; 

constructor TComPort.Create; 
begin 
  inherited; 
  InitCom; 
end; 

destructor TComPort.Destroy; 
begin 
  CloseCom; 
  inherited; 
end; 

function TComPort.InitCom(BaudRate, PortNo: Integer; Parity: Char; 
  CommTimeOuts: TCommTimeouts): Boolean; 
var 
  FileName: string; 
  DCB: TDCB; 
  PortParam: string; 
begin 
  result := FALSE; 
  FileName := 'Com' + IntToStr(PortNo); {имя файла} 
  hFile := CreateFile(PChar(FileName), 
    GENERIC_READ or GENERIC_WRITE, 0, nil, 
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); 
  if hFile = INVALID_HANDLE_VALUE then 
    exit; 

  //установка требуемых параметров 
  GetCommState(hFile, DCB); //чтение текущих параметров порта 
  PortParam := 'baud=' + IntToStr(BaudRate) + ' parity=' + Parity + 
    ' data=8 stop=1 ' + 
    'octs=off'; 
  if BuildCommDCB(PChar(PortParam), DCB) then 
  begin 
    result := SetCommState(hFile, DCB) and 
      SetCommTimeouts(hFile, CommTimeOuts); 
  end; 
  if not result then 
    CloseCom; 
end; 

procedure TComPort.CloseCom; 
begin 
  if hFile < > INVALID_HANDLE_VALUE then 
    CloseHandle(hFile); 
  hFile := INVALID_HANDLE_VALUE; 
end; 

function TComPort.ReceiveCom(var Buffer; Size: DWORD): Integer; 
var 
  Received: DWORD; 
begin 
  if hFile = INVALID_HANDLE_VALUE then 
    raise Exception.Create('Не открыта запись в Com порт'); 
  if ReadFile(hFile, Buffer, Size, Received, nil) then 
  begin 
    Result := Received; 
  end 
  else 
    raise Exception.Create('Ошибка приема данных: ' + IntToStr(GetLastError)); 
end; 

function TComPort.SendCom(var Buffer; Size: DWORD): Integer; 
var 
  Sended: DWORD; 
begin 
  if hFile = INVALID_HANDLE_VALUE then 
    raise Exception.Create('Не открыта запись в Com порт'); 
  if WriteFile(hFile, Buffer, Size, Sended, nil) then 
  begin 
    Result := Sended; 
  end 
  else 
    raise Exception.Create('Ошибка передачи данных: ' + IntToStr(GetLastError)); 
end; 

function TComPort.ClearInputCom: Boolean; 
begin 
  if hFile = INVALID_HANDLE_VALUE then 
    raise Exception.Create('Не открыта запись в Com порт'); 
  Result := PurgeComm(hFile, PURGE_RXCLEAR); 
end; 

end. 


Тебе необходимы 2 процедуры InitCom и CloseCom .
И еще организуешь две кнопки
одна включить:
Код

EscapeCommFunction( hFile, SETRTS);

другая выключить, с кодом:
Код

EscapeCommFunction( hFile, CLRRTS);


А далее эксперементируйsmile

ЗЫ код я не проверял , нету у меня девайса на ком порт.


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
R0nin
Дата 8.10.2005, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 31.7.2005
Где: Минск (Белоруссия )

Репутация: нет
Всего: нет



to Romikgy
а как пользлваться функциями включения отключения? smile
а что ты имел ввиду говоря?
Цитата
Тебе необходимы 2 процедуры InitCom и CloseCom .


Это сообщение отредактировал(а) R0nin - 8.10.2005, 02:11
--------------------
Фишка есть во всем, а если фишки нет, то это и есть фишка
PM MAIL ICQ   Вверх
cardinal
Дата 8.10.2005, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



R0nin, честное слово, пора бы книжку открыть...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
R0nin
Дата 9.10.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 31.7.2005
Где: Минск (Белоруссия )

Репутация: нет
Всего: нет



smile Что, достал всех уже? Ну ладна, буду книжьки читать! smile
Спасиба за муки с начинающимися! smile
--------------------
Фишка есть во всем, а если фишки нет, то это и есть фишка
PM MAIL ICQ   Вверх
cardinal
Дата 9.10.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Нет, не достал, но книжку открыть пора! smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
R0nin
Дата 9.10.2005, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 31.7.2005
Где: Минск (Белоруссия )

Репутация: нет
Всего: нет



Просто в книжках стандартные компоненты и их описание, калькулятор я и сам могу написать.
А тут захотел подарок зделать лбимой девушке (тоже начинающий программер) в виде коврика с софтом под него, чтоб все как пологен было! Правильно же?! Ну а умений то у меня и не хватило! smile Вот я и мучаю себя и других (Звиняйте уж) smile
--------------------
Фишка есть во всем, а если фишки нет, то это и есть фишка
PM MAIL ICQ   Вверх
Петрович
Дата 14.10.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 15
Всего: 55



Цитата(cardinal @ 6.10.2005, 13:25)
ShadeSt, не знаешь ли ты такого терминала, чтобы


Цитата
Чтоб я мог вызывать ее из комадной строки, типа

terminal.exe -sendmode hex -send 0F 5A FE
или
terminal.exe -sendmode char -send A B C D E

И чтобы она, разумеется, не появлялась формой, а там в командной строке работала и завершалась.

Такого быть не может поскольку при завершении программы винды будут освобождать COM-порт, и могут даже изменять состояние его оправляющих сигналов. Так что, между запусками terminal.exe состояние порта не будет сохраняться.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1046 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.