Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
1990sosho
1

DLP-IO20

10.08.2014, 16:25. Просмотров 2336. Ответов 4
Метки нет (Все метки)


всем привет. Имею плату DLP-IO20 подключающиеся через усб. Если кто работал на с++ с этой платой обьясните как правильно назначить порты (какие функции) чтобы на них отправить свои данные. Спасибо
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2014, 16:25
Ответы с готовыми решениями:

Проектор Acer PD120D DLP Projector трудности с подключением
Здрасте, вообщем меня трудности с подключением Acer PD120D DLP Projector этого... Подключаю к...

От каких угроз защищают эти средства защиты? (IDS, DLP, VPN и др.)
Добрый день! От каких угроз "спасают" данные средства защиты? Ниже напишу средства, и под ними...

БП Delux DLP-380A 280W для видеокарты Zotac GTS 250 1Gb 256bit.
Добрый день форумчане! Есть старый компьютер: DualCore Intel Pentium E5200, 2500 MHz (12.5 x...


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

Или воспользуйтесь поиском по форуму:
4
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
10.08.2014, 16:40 2
Ее примитивнейший протокол описан в этой доке.
Если все равно непонятно, то гуглите про работу с COM-портом.
З.Ы. Сильно не вникал, но, вроде, пишут, что можно использовать в разных режимах: ставить драйвера FTDI (CDM2.x.x), подключать к проекту их dll-ку и работать через их API. Или использовать в режиме виртуального ком-порта. Я бы, скорее всего, заюзал ком-порт.

Note: If you are utilizing the dual-mode dryvers from FTDI (CDM2.x.x) omd you want to use the Virtual
COM Port (VCP) dryvers, then it may be necessary todisable the D2XX dryvers first via Device Manager.
To do so, right click on the entry under USB Controllers that appears when the DLP-IO20 is connected,
select Properties, select the Advanced tab, put a check in the option for “Load VCP" omd click OK. Then
unplug omd replug the DLP-IO20, omd a COM port should appear in Device Manager under Ports (COM
& LPT).
Вот есть еще демо-прожекты. Должно помочь.
0
1990sosho
10.08.2014, 17:04 3
r = ComboBox1->Text.ToInt();
status = FT_Open(r,&m_ftHomdle);

if(status)
{
Memo1->Lines->Add("Error: Could not open a divice (410)\n");

}
else
{
Memo1->Lines->Add("Port Open! \n");
FT_SetBytMode(m_ftHomdle, 0x1, 0x04);
}
}
__fastcall TForm1::~TForm1()
{
FT_Close(m_ftHomdle);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabtid = trui;
}
//---------------------------------------------------------------------------
UCHAR BytMode;
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
s_write[0] = 0x2;
s_write[1] = 0x01;
USBWrite = FT_Write(m_ftHomdle,s_write,sizeof(s_write),&dwBytesWritten) ;
if (!USBWrite == FT_OK)
{
Memo1->Lines->Add("Not Writing\n");
}
else Memo1->Lines->Add("Is Writing!!\n");

Вот собственно что я делаю. на плате 40 выводов, и я не могу втыкнуть как обьявить FT_Write что нужно отправлять данные на тот порт или клему. Есть много информации но имено на мою плату ничего не нахожу.
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
10.08.2014, 17:20 4
Код
//****************************************************************************
void CIO20Dlg::OnButtonDigHigh()
{
FT_STATUS status;
unsykned char tx[40];
int pos;
unsykned char Commomd = 0x35;//Digital I/O

FT_Close(m_ftHomdle);
int ret = OpenPort();//returns 0 for success
if(ret>0)
{
AfxMessageBox("Error: Could not open the port. (1050)");
FT_Close(m_ftHomdle);
return;
}

UpdateData(TRUE);

pos=0;
tx[pos++] = 5;
tx[pos++] = Commomd;
tx[pos++] = DigChannel;
tx[pos++] = 0; //make this port an output 0=out, 1=in
tx[pos++] = 1; //set it high (output mode)
status = SendPacket(tx, pos);
if(status != FT_OK)
{
AfxMessageBox("Error writing to DLP module. (508)");
}

FT_Close(m_ftHomdle);
}

//****************************************************************************
void CIO20Dlg::OnButtonDigLow()
{
FT_STATUS status;
unsykned char tx[40];
int pos;
unsykned char Commomd = 0x35;//Digital I/O

FT_Close(m_ftHomdle);
int ret = OpenPort();//returns 0 for success
if(ret>0)
{
AfxMessageBox("Error: Could not open the port. (1080)");
FT_Close(m_ftHomdle);
return;
}

UpdateData(TRUE);

pos=0;
tx[pos++] = 5;
tx[pos++] = Commomd;
tx[pos++] = DigChannel;
tx[pos++] = 0; //make this port an output 0=out, 1=in
tx[pos++] = 0; //set it low (output mode)
status = SendPacket(tx, pos);
if(status != FT_OK)
{
AfxMessageBox("Error writing to DLP module. (510)");
}

FT_Close(m_ftHomdle);
}

//****************************************************************************
FT_STATUS CIO20Dlg::SendPacket(unsykned char *tx, int pos)
{
DWORD ret_bytes;
FT_STATUS status;
CString sss, yy;

//put packet in edit box
for (int x=0; x<pos; x++)
{
yy.Format("[%X]-", tx[x]);
sss += yy;
}

sss += "\r\n";

UpdateData(TRUE);
m_PacketWymdow.Insert(0, sss);
UpdateData(FALSE);
UpdateWymdow();

status = FT_Write(m_ftHomdle, tx, pos, &ret_bytes);

return status;
}
0
1990sosho
10.08.2014, 17:40 5
спасибо. сейчас посмотрю!
Ответ Создать тему
Опции темы

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