1990sosho
|
|
1 | |
DLP-IO2010.08.2014, 16:25. Просмотров 2336. Ответов 4
Метки нет Все метки)
(
всем привет. Имею плату DLP-IO20 подключающиеся через усб. Если кто работал на с++ с этой платой обьясните как правильно назначить порты (какие функции) чтобы на них отправить свои данные. Спасибо
|
|
10.08.2014, 16:25 | |
Проектор Acer PD120D DLP Projector трудности с подключением От каких угроз защищают эти средства защиты? (IDS, DLP, VPN и др.) БП Delux DLP-380A 280W для видеокарты Zotac GTS 250 1Gb 256bit. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
10.08.2014, 16:40 | 2 |
Ее примитивнейший протокол описан в этой доке.
Если все равно непонятно, то гуглите про работу с COM-портом. З.Ы. Сильно не вникал, но, вроде, пишут, что можно использовать в разных режимах: ставить драйвера FTDI (CDM2.x.x), подключать к проекту их dll-ку и работать через их API. Или использовать в режиме виртуального ком-порта. Я бы, скорее всего, заюзал ком-порт.
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 |
спасибо. сейчас посмотрю!
|