资源简介
用CH370模块实现对键盘和鼠标的控制的具体C语言代码。
代码片段和文件信息
/* 用CH376操作HID设备,比如键盘,鼠标兼容HID复合设备*/
#include
#include
#include
#include
#include “CH376INC.H“
#include “hid.h“
// 获取设备描述符
const unsigned char code SetupGetDevDescr[] = { 0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00 };
// 获取配置描述符
const unsigned char code SetupGetCfgDescr[] = { 0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00 };
// 设置USB地址
const unsigned char code SetupSetUsbAddr[] = { 0x00 0x05 0x02 0x00 0x00 0x00 0x00 0x00 };
// 设置USB配置
//const unsigned char code SetupSetUsbConfig[] = { 0x00 0x09 0x00 0x00 0x00 0x00 0x00 0x00 };
// SET IDLE
const unsigned char code SetupSetidle[]={0x210x0a0x000x000x000x000x000x00};
// 获取HID 报告描述符
const unsigned char code SetupGetHidDes[]={0x810x060x000x220x000x000x810x00};
// SET REPORT
const unsigned char code SetupSetReport[]={0x210x090x000x020x000x000x010x00};
////单片机总线方式操作CH376
//UINT8V xdata CH376_CMD_PORT _at_ 0xBDF1; /* CH376命令端口的I/O地址 */
//UINT8V xdata CH376_DAT_PORT _at_ 0xBCF0; /* CH376数据端口的I/O地址 */
//
#define CH376_INT_WIRE INT0 //定义CH376中断引脚,可省略;
struct _Device_Atti{
UINT8 Device_connect; //设备连接状态 1:连接,0:断开
UINT8 Device_compat; //0:非复合设备1表示复合设备
UINT8 Cfg_value; //设备配置描述符中配置值
struct _Device{
UINT8 Device_type; //设备类型 1:键盘,2:鼠标
UINT8 Device_inf; //设备接口号 默认为0 最多支持两个接口设备
UINT8 Device_endp; //设备端点地址 最多支持一个端点
UINT8 Device_size; //设备端点大小
UINT16 Device_report_len; //设备报表长度
UINT8 tog; //端点的同步标志
}Device[2];
}Device_Atti = { 0 };
UINT8 receive_mode = 0x00send_mode = 0x00;
UINT8 data_buf[90];
UINT8 status;
bit flag_config_2; //第二次获取配置描述符标志
//**********************************************
//* NAME: mDelay2uS( )
//* FUCTION: 延时2us子函数
//* 输入参数:无
//* 输出参数:无
//* 说明: 根据单片机的主频进行调整
//**********************************************
void mDelay2uS( )
{
UINT8 i;
for(i=1;i!=0;i--);
}
//**********************************************
//* NAME: mDelay50mS( )
//* FUCTION: 延时50ms子函数
//* 输入参数:无
//* 输出参数:无
//* 说明: 根据单片机的主频进行调整
//**********************************************
void mDelay50mS( )
{
UINT8 ij;
for(i=250;i!=0;i--)
for(j=250;j!=0;j--);
}
////**********************************************
////* NAME: CH376_WR_CMD_PORT( UINT8 cmd )
////* FUCTION: 写CH376命令子函数
////* 输入参数:8位命令码
////* 输出参数:无
////* 说明:对于速度较快的单片机,则需要1.5uS延时
////**********************************************
//
//void CH376_WR_CMD_PORT( UINT8 cmd )
//{
// UINT8 i;
//
// xWriteCH376Cmd = cmd;
//
// for ( i = 0; i < 100; i++ ) /* 状态查询等待CH376不忙 */
// {
// if ( ( xWriteCH376Cmd & PARA_STATE_BUSY ) == 0 ) /* 检查状态端口的忙标志位 */
// {
// br
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-08-02 10:15 376操作鼠标键盘\
文件 102112 2013-05-01 19:37 376操作鼠标键盘\376host
文件 51447 2013-05-01 19:37 376操作鼠标键盘\376host.LST
文件 43180 2013-05-01 19:37 376操作鼠标键盘\376host.M51
文件 72219 2013-05-01 19:37 376操作鼠标键盘\376host.OBJ
文件 1303 2013-05-01 19:38 376操作鼠标键盘\376host.Opt
文件 2192 2013-05-01 19:38 376操作鼠标键盘\376host.Uv2
文件 25261 2013-05-01 19:30 376操作鼠标键盘\376host.c
文件 14115 2013-05-01 19:37 376操作鼠标键盘\376host.hex
文件 61 2013-05-01 19:37 376操作鼠标键盘\376host.lnp
文件 5570 2013-05-01 19:38 376操作鼠标键盘\376host.plg
文件 1526 2013-04-06 00:11 376操作鼠标键盘\376host_Opt.Bak
文件 2159 2013-04-06 00:11 376操作鼠标键盘\376host_Uv2.Bak
文件 39618 2012-02-10 22:11 376操作鼠标键盘\CH376INC.H
文件 11280 2013-04-20 10:57 376操作鼠标键盘\SPI_SW.C
文件 1612 2013-04-19 23:31 376操作鼠标键盘\SPI_SW.H
文件 19440 2013-05-01 19:37 376操作鼠标键盘\SPI_SW.LST
文件 35937 2013-05-01 19:37 376操作鼠标键盘\SPI_SW.OBJ
文件 6376 2005-03-22 15:22 376操作鼠标键盘\STARTUP.A51
文件 14048 2013-04-05 18:52 376操作鼠标键盘\STARTUP.LST
文件 749 2013-04-05 18:52 376操作鼠标键盘\STARTUP.OBJ
文件 3337 2009-07-28 11:16 376操作鼠标键盘\hid.h
文件 0 2009-07-28 11:16 376操作鼠标键盘\hid.h.bak
- 上一篇:linux下C语言编写的学生信息管理系统
- 下一篇:七参数坐标转换小程序
相关资源
- mfc获取鼠标位置颜色
- 用C++ 和opengl实现多个雪人,而且可以
- C# 键盘鼠标全局钩子拦截键盘鼠标所
- 唯一可译码判决准则 1使用的编程:
- MFC鼠标位置提示框
- 计算机图形学考试内容-Opengl-会移动的
- opengl鼠标交互简单
- opengl实现鼠标坐标的显示
- 3*4矩阵键盘
- 4X4矩阵键盘+LCD1602显示
- VC++查看鼠标在图像选点坐标程序
- 自己编写的基于单片机的自己编的4
- 51单片机c语言4x4矩阵键盘实验详细操
- 4*5键盘
- 画线算法C++的实现-鼠标交互
- windows后台监听键盘事件vs mfc版
- 8255 键盘接口C语言编程
- MFC一个漂亮的登录框带小键盘密码输
- at89c51单片机+矩阵键盘编写的计算器
- USB键盘驱动C++
- hid鼠标和键盘
- MFC 鼠标实时画线
- vc控制鼠标移动点击源代码
- VC++ libusb实现USB数据读取
- PyHook3-1.6.1-py3.7-win-amd64.rar
- C语言 51单片机4x4矩阵键盘扫描程序
- 低级鼠标钩子VS2008源码.zip
- c++ 数字键盘设计(源码)
- C++实战源码-可随鼠标移动的图形
- C++实战源码-鼠标跟随窗体
评论
共有 条评论