Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
titulnik.docx
Скачиваний:
21
Добавлен:
16.03.2016
Размер:
246.21 Кб
Скачать

9 Листинг основной программы для компьютера

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "hidlibrary.h" // Библиотека для работы с Hid устройствами

#include "usbconfig.h" // Здесь пишем путь к usbconfig.h

char vendorName[] = {USB_CFG_VENDOR_NAME, 0};

char productName[] = {USB_CFG_DEVICE_NAME, 0};

unsigned char b1 = 0;

HIDLibrary <unsigned char> hid; // создаем экземпляр класса с типом нашей структуры

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

int connect() // этой функцией будем подключаться к устройству

{

int i, n, res=0;

string DeviceName = "";

DeviceName += vendorName;

DeviceName += " ";

DeviceName += productName;

n = hid.EnumerateHIDDevices(); // узнаем все Hid устройства vid_16c0&pid_05df

// vid и pid указаны в hidlibrary.h константой idstring

for (i=0; i<n; i++) // ищем среди них наше

{

hid.Connect(i);

// GetConnectedDeviceName() возвращает string,

// где через пробел указаны vendor и product Name.

// Сравниваем, если совпало - значить устройство наше

if ( hid.GetConnectedDeviceName() == DeviceName )

{

res = 1;

break;

}

}

return res;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

if ( 1 == connect() ) {

Label3->Font->Color = clBlue;

Label3->Caption = "Подключено!";

}

else {

Label3->Font->Color = clRed ;

Label3->Caption = "Не подключено!" ; }

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if ( 1 == connect() )

{

b1 = 1;

hid.SendData(&b1); // Отправляем данные устройству

}

else

{

AnsiString s = "Устройство не подключено!!!";

ShowMessage(s);

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if ( 1 == connect() )

{

b1 = 0;

hid.SendData(&b1); // Отправляем данные устройству

}

else

{

AnsiString s = "Устройство не подключено!!!";

ShowMessage(s);

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if ( 1 == connect() )

{

hid.ReceiveData(&b1); // Читаем данные с устройства

if (b1)

Label1->Caption += " 1.";

else

Label1->Caption += " 0.";

}

else

{

AnsiString s = "Устройство не подключено!!!";

ShowMessage(s);

}

}

//---------------------------------------------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]