Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi: графика, звук, видео

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
grebljmax
7 / 6 / 3
Регистрация: 07.01.2011
Сообщений: 22
#1

Включение проектора через Com порт - Delphi

08.01.2011, 20:25. Просмотров 1238. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток)

Проблема в следующем, нужно включить проетор через Com порт 1. Пробывал следующим образом-0 реакции. Есть программа Advanced Serial Port Monitor - через нее проектор запускается. Проектор BenQ Projector RS232 code for DDP2000 Version. Просьба посмотреть и исправить то что имеется или предложить что то новое...

Команды монитора

Power Write Turn on 0x06 0x14 0x00 0x03 0x00 0x34 0x11 0x00 0x5C
Turn off 0x06 0x14 0x00 0x03 0x00 0x34 0x11 0x01 0x5D
Read Power status( on/off/cool down) 0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x00 0x5E
Reset Excute 0x06 0x14 0x00 0x03 0x00 0x34 0x11 0x02 0x5E



Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
var
 hcom : THandle;
 dcb: TDCB;
 cto: TCommTimeouts;
   KolByte: DWord;
 
 
procedure T_ComPort_OpenPort(PortName: String);
var
  Transmit:array [0..255] of char;
  str : String;
  i,k   : integer;
begin
 if hCom>0 then  Raise Exception.Create('Порт уже инициализирован');
  str:=Form1.Edit1.Text;
if length(str)>2
then
 begin
  hCom:=CreateFile( //uses Windows
                   pchar(PortName), //Имя COM-порта
                   GENERIC_READ or GENERIC_WRITE,
                   0, {exclusive access}
                   nil, {no security attrs}
                   OPEN_EXISTING,
                   0,{not overlapped}
                   0 {hTemplate}
                   );
 if hCom=INVALID_HANDLE_VALUE
 then RaiseLastOSError;
 
 //Выставляем параметры COM-порта
 
 if not GetCommState(hCom,dcb) //uses Windows
 then RaiseLastOSError;
 
 dcb.BaudRate:=CBR_9600;
 dcb.ByteSize:=8;
 dcb.Parity:=NOPARITY;
 dcb.StopBits:=ONESTOPBIT;
 
 if not SetCommState(hCOM,dcb) //uses Windows
 then RaiseLastOSError;
 
 //Выставляем параметры COM-порта
 if not GetCommTimeOuts(hCom,cto) //uses Windows
 then RaiseLastOSError;
 
   cto.ReadIntervalTimeout:=1;
   cto.ReadTotalTimeoutMultiplier:=1;
   cto.ReadTotalTimeoutConstant:=10;
 
   cto.WriteTotalTimeoutMultiplier:=0;
   cto.WriteTotalTimeoutConstant:=0;
 
 if not SetCommTimeOuts(hCom,cto) //uses Windows
   then RaiseLastOSError;
 
  //послать один символ в порт
   k:=0;
   for i:=1 to length(str) do
   if str[i]='#'
   then begin
          transmit[k]:=chr(StrToInt('$'+str[i+1]+str[i+2]));
          showmessage(transmit[k]+' '+IntToStr(ord(transmit[k]))+'  '+IntToStr(k));
          k:=k+1;
        end;
 
     KolByte:=k+1;
   WriteFile(hcom,Transmit,  KolByte,  KolByte,nil);
 //  CloseHandle(hcom);
 
 
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 20:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Включение проектора через Com порт (Delphi):

Lpt порт, включение и отключение питания контакта - Delphi
Доброго времени суток. Суть в том, что я хочу подключить лампочку к компьютеру и иметь возможность ее программно включать/выключать. ...

Не передает полностью сообщение через COM порт - Delphi
Товарищи! Помогите пожалуйста. Я написал программу используя BComPort чтобы она отправляла и считывала одновременно. На физическом com...

Управление изображением на мониторе через COM порт - Delphi
На экране отображается модель пассажирского или грузового лифта,к COM порту подключены 3 кнопки\этажа .При нажатии на кнопку скажем 3 лифт...

Включение проектора в c# - C#
Не подскажите пожалуйста, как программно включить\выключить проектор в c#? Знаю, что монитор можно так: public int...

При подключении проектора к компу через S-Video - изображение плохое и тормозит - Видеокарты
Проблема c S-Video: При подключении проектора к компу через S-Video - изображение плохое и тормозит (причем, только в игре - кино...

Можно ли через VB организовать связь (через паралельный порт) с отдельным устройством? - Visual Basic
Вот хотелось бы узнать можно ли через VB организовать связь (через паралельный порт) с отделным устройством кто знает подскажите пожалуйста...

2
Rabbano
2 / 2 / 0
Регистрация: 12.07.2010
Сообщений: 21
10.01.2011, 09:01 #2
Я бы для начала что бы не сомневаться задал бы все явным способом.
a : array [0..20] of byte;

a[0]:=$06;
...
a[8]:=$5C;
WriteFile(..., a, 9, Bytes, nil).
Проверяешь на выходе Bytes=9, тогда все в порядке.

И обрати внимание на
dcb.BaudRate:=CBR_9600;
dcb.ByteSize:=8;
dcb.Parity:=NOPARITY;
dcb.StopBits:=ONESTOPBIT;

Они должны быть точными.
0
grebljmax
7 / 6 / 3
Регистрация: 07.01.2011
Сообщений: 22
10.01.2011, 12:31  [ТС] #3
Цитата Сообщение от Rabbano Посмотреть сообщение
И обрати внимание на
dcb.BaudRate:=CBR_9600;
dcb.ByteSize:=8;
dcb.Parity:=NOPARITY;
dcb.StopBits:=ONESTOPBIT;

Они должны быть точными.
Все эти данные проерял не один раз, а вот про колличество байтов обязательно проверю,спасибо за совет. О результате сообщу в ближайшее время)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 12:31
Привет! Вот еще темы с ответами:

как вывести звук через обычный порт, а не через s/pdif ? - Звук, акустика
купил компьютер, установил win8, звук не работает (в "устройствах воспроизведения" работает s/pdif но колонки не работают) . как зделать...

Включение,через раз - Материнские платы
Здравствуйте.Не нашел ничего похожего,хотя у самого подобное уже было.В общем такая вот проблема.При включении компьютера,запускается...

Включение button1 через timer1 - C#
private void timer1_Tick(object sender, EventArgs e) { что нужно вставить, чтоб тут включалась и выключалась кнопка...

Включение ноутбука через android - Wi-Fi
Добрый день! Прошу помочь разобраться в ситуации: Есть ноутбук Asus K52D, роутер Zyxel Keenetic Start и смарфон с android ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru