- •Содержание
- •1 Выбор и обоснование технических требований к устройству
- •2 Структурная схема устройства
- •3 Принципиальная схема устройства
- •4 Разработка алгоритма работы управляющей программы для микроконтроллера
- •5 Функции и переменные основной программы для микроконтроллера
- •6 Листинг основной программы для микроконтроллера
- •7 Разработка алгоритма работы управляющей программы для компьютера
- •8 Функции и переменные основной программы для компьютера
- •9 Листинг основной программы для компьютера
- •Заключение
- •Список используемых источников
- •Ведомость курсовой работы
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);
}
}
//---------------------------------------------------------------------------