⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 可以检测你开发的USB设备是否OK的一个程序
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Main.h"
#include "usb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
TUSB *MyUSB;
char HexToInt(char x);

//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
	: TForm(Owner)
{
}
//----------------------------------------------------------------------------

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
   MyUSB = new TUSB;

   if (!MyUSB->OpenDevice())
        ShowMessage("USB设备打开失败,请检查设备连接");
               
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
   MyUSB->CloseDevice();
   delete MyUSB;

}
//---------------------------------------------------------------------------

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

void __fastcall TMainForm::Button4Click(TObject *Sender)
{
   RichEdit1->Text="";     
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Button3Click(TObject *Sender)
{
   Edit1->Text="";
}
//---------------------------------------------------------------------------
char HexToInt(char x)
{
   if((x>=0x30)&& (x<=0x39)) return (x-0x30);
   else if(x=='a') return 10;
   else if(x=='b') return 11;
   else if(x=='c') return 12;
   else if(x=='d') return 13;
   else if(x=='e') return 14;
   else if(x=='f') return 15;
   else return 0;
}   
//---------------------------------------------------------------------------

void __fastcall TMainForm::RadioButton1Click(TObject *Sender)
{
unsigned char buf[512], str[64];
   int i,j,len;
   j=1;

   for(i=0;i<512;i++) buf[i]=0;

   len=Edit1->GetTextLen()+1;
   Edit1->GetTextBuf(str,len) ;

   j=1;
   for(i=0;i<len;i+=3)
      {
      buf[j]= HexToInt(str[i])*16+HexToInt(str[i+1]);
      j++;
      }

   buf[0]=j-1;

   MyUSB->SendCommand(0);

   MyUSB->SendCardCommand(buf);

   MyUSB->GetCardResponse(buf) ;

   RichEdit1->Text="";
   for(int i=1;i<=buf[0];i++)
            RichEdit1->Text=RichEdit1->Text+IntToHex(buf[i], 2)+" ";


}
//---------------------------------------------------------------------------

void __fastcall TMainForm::RadioButton2Click(TObject *Sender)
{
 unsigned char buf[512], str[64];
   int i,j,len;
   j=1;

   for(i=0;i<512;i++) buf[i]=0;

   len=Edit1->GetTextLen()+1;
   Edit1->GetTextBuf(str,len) ;

   j=1;
   for(i=0;i<len;i+=3)
      {
      buf[j]= HexToInt(str[i])*16+HexToInt(str[i+1]);
      j++;
      }

   buf[0]=j-1;

   MyUSB->SendCommand(1);

   MyUSB->SendCardCommand(buf);

   MyUSB->GetCardResponse(buf) ;

   RichEdit1->Text="";
   for(int i=1;i<=buf[0];i++)
            RichEdit1->Text=RichEdit1->Text+IntToHex(buf[i], 2)+" ";


}
//---------------------------------------------------------------------------

void __fastcall TMainForm::RadioButton3Click(TObject *Sender)
{
unsigned char buf[512], str[64];
   int i,j,len;
   j=1;

   for(i=0;i<512;i++) buf[i]=0;

   len=Edit1->GetTextLen()+1;
   Edit1->GetTextBuf(str,len) ;

   j=1;
   for(i=0;i<len;i+=3)
      {
      buf[j]= HexToInt(str[i])*16+HexToInt(str[i+1]);
      j++;
      }

   buf[0]=j-1;

   MyUSB->SendCommand(2);

   MyUSB->SendCardCommand(buf);

   MyUSB->GetCardResponse(buf) ;

   RichEdit1->Text="";
   for(int i=1;i<=buf[0];i++)
            RichEdit1->Text=RichEdit1->Text+IntToHex(buf[i], 2)+" ";


}
//---------------------------------------------------------------------------

void __fastcall TMainForm::RadioButton4Click(TObject *Sender)
{
unsigned char buf[512], str[64];
   int i,j,len;
   j=1;

   for(i=0;i<512;i++) buf[i]=0;

   len=Edit1->GetTextLen()+1;
   Edit1->GetTextBuf(str,len) ;

   j=1;
   for(i=0;i<len;i+=3)
      {
      buf[j]= HexToInt(str[i])*16+HexToInt(str[i+1]);
      j++;
      }

   buf[0]=j-1;

   MyUSB->SendCommand(3);

   MyUSB->SendCardCommand(buf);

   MyUSB->GetCardResponse(buf) ;

   RichEdit1->Text="";
   for(int i=1;i<=buf[0];i++)
            RichEdit1->Text=RichEdit1->Text+IntToHex(buf[i], 2)+" ";


}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -