資源簡介
嵌入式設備 linux usb hid 設備連接 PC進行數據傳輸與封包的應用程序。
帶有makefile文件,編譯時需要修改為自己的交叉編譯,才能運行。
字符數字特殊字符等數據內容與pc之間的傳輸。

代碼片段和文件信息
/*?hid_gadget_test?*/
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?BUF_LEN?512
char?*mytstnum=“112234567890\r“;
char?*mytstchar0=“aabbcccdefghijklmnopqrstuvwsyzzzz\r“;
char?*mytstchar1=“AABBCCCDEFGHIJKLMNOPQRSTUVWSYZZZZ\r“;
char?*mytstspecchar0=“‘‘‘-=\\[];‘./\r“;
char?*mytstspecchar1=“~~!!@#$%^&*()_+|{}:\“<>?\r“;
struct?options?{
const?char????*opt;
unsigned?char?val;
};
static?struct?options?knum1[]?=?{
{.opt?=?“1“ .val?=?0x1e}
{.opt?=?“2“ .val?=?0x1f}
{.opt?=?“3“ .val?=?0x20}
{.opt?=?“4“ .val?=?0x21}
{.opt?=?“5“ .val?=?0x22}
{.opt?=?“6“ .val?=?0x23}
{.opt?=?“7“ .val?=?0x24}
{.opt?=?“8“ .val?=?0x25}
{.opt?=?“9“ .val?=?0x26}
{.opt?=?“0“ .val?=?0x27}
{.opt?=?NULL}
};
static?struct?options?knum2[]?=?{
{.opt?=?“1“ .val?=?0x59}
{.opt?=?“2“ .val?=?0x5a}
{.opt?=?“3“ .val?=?0x5b}
{.opt?=?“4“ .val?=?0x5c}
{.opt?=?“5“ .val?=?0x5d}
{.opt?=?“6“ .val?=?0x5e}
{.opt?=?“7“ .val?=?0x5f}
{.opt?=?“8“ .val?=?0x60}
{.opt?=?“9“ .val?=?0x61}
{.opt?=?“0“ .val?=?0x62}
{.opt?=?NULL}
};
//00?00?start
static?struct?options?special[]?=?{
{.opt?=?“‘“ .val?=?0x35}
{.opt?=?“-“ .val?=?0x2d}
{.opt?=?“=“ .val?=?0x2e}
{.opt?=?“[“ .val?=?0x2f}
{.opt?=?“]“ .val?=?0x30}
{.opt?=?“\\“ .val?=?0x31}
{.opt?=?“;“ .val?=?0x33}
{.opt?=?“\‘“ .val?=?0x34}
{.opt?=?““ .val?=?0x36}
{.opt?=?“.“ .val?=?0x37}
{.opt?=?“/“ .val?=?0x38}
{.opt?=?NULL}
};
//02?00?start
static?struct?options?shift_special[]?=?{
{.opt?=?“~“ .val?=?0x35}
{.opt?=?“!“ .val?=?0x1e}
{.opt?=?“@“ .val?=?0x1f}
{.opt?=?“#“ .val?=?0x20}
{.opt?=?“$“ .val?=?0x21}
{.opt?=?“%“ .val?=?0x22}
{.opt?=?“^“ .val?=?0x23}
{.opt?=?“&“ .val?=?0x24}
{.opt?=?“*“ .val?=?0x25}
{.opt?=?“(“ .val?=?0x26}
{.opt?=?“)“ .val?=?0x27}
{.opt?=?“_“ .val?=?0x2d}
{.opt?=?“+“ .val?=?0x2e}
{.opt?=?“{“ .val?=?0x2f}
{.opt?=?“}“ .val?=?0x30}
{.opt?=?“|“ .val?=?0x31}
{.opt?=?“:“ .val?=?0x33}
{.opt?=?“\““ .val?=?0x34}
{.opt?=?“<“ .val?=?0x36}
{.opt?=?“>“ .val?=?0x37}
{.opt?=?“\?“ .val?=?0x38}
{.opt?=?“?“ .val?=?0x2c}
{.opt?=?“\r“ .val?=?0x28}//return
{.opt?=?NULL}
};
static?struct?options?kmod[]?=?{
{.opt?=?“--left-ctrl“ .val?=?0x01}
{.opt?=?“--right-ctrl“ .val?=?0x10}
{.opt?=?“--left-shift“ .val?=?0x02}
{.opt?=?“--right-shift“ .val?=?0x20}
{.opt?=?“--left-alt“ .val?=?0x04}
{.opt?=?“--right-alt“ .val?=?0x40}
{.opt?=?“--left-meta“ .val?=?0x08}
{.opt?=?“--right-meta“ .val?=?0x80}
{.opt?=?NULL}
};
int?keyboard_fill_one_report(char?report[8]?char?*ch)
{
char?chcmp[2];
char?*tok;
int?key?=?0;
int?i?=?0;
memset(chcmp02*sizeof(char));
chcmp[0]=*ch;
tok=chcmp;
if(tok?!=?NULL){
//*hold?=?1;
if(isalnum(tok[0]))?//0~9?a~z?A~Z
{
if?(islower(tok[0]))?{?//a~z
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?-rw-rw-r--???????177??2018-05-26?12:42??test_for_hid\Makefile
?-rwxrwxr-x?????11439??2018-05-26?12:45??test_for_hid\myhid_g
?-rw-rw-r--??????6190??2018-05-26?12:45??test_for_hid\gadget_hid.c
?drwxrwxr-x?????????0??2018-05-26?12:45??test_for_hid
-----------?---------??----------?-----??----
????????????????17806????????????????????4
- 上一篇:2018年中國科技核心期刊目錄自然科學卷
- 下一篇:VC通用控件背景透明的方法
評論
共有 條評論