资源简介
用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语言编写的学生信息管理系统
- 下一篇:七参数坐标转换小程序
相关资源
- usb键盘(MyUSB_HID_KEIL)
- hook,捕获所有案件,查找所有窗口,
- 鼠标连点器(附源码)
- c++ 模拟鼠标按键
- stm32f103 USB键盘
- Kinect手势控制鼠标
- 能随鼠标移动的放大镜
- mfc通过鼠标移动画线
- 鼠标交互画圆及椭圆基于Bresenham、中
- vc6鼠标低级钩子源码 直接编译运行即
- C++简单获取鼠标当前坐标
- VC++鼠标画直线程序
- MFC图片自由鼠标交互拖拽、鼠标滚动
- 获取屏幕上鼠标的位置坐标及其RGB颜
- PS2键盘、鼠标与at89c51单片机的通信设
- C语言键盘记录程序
- VC MFC实现橡皮筋类(鼠标拖动框选)
- MFC 绘图 键盘控制图片移动
- 手势识别控制鼠标
- OpenGL实现鼠标绕任意轴旋转/平移/缩放
- opengl光照旋转交互
- OpenGL+MFC工程具备鼠标操作
- MFC 鼠标按下与弹起事件响应
- c++编写的简易鼠标作图程序,含有工
- Qt版推箱子源码-鼠标键盘功能都有
- mfc按CEdit编辑框弹出自定义键盘
- C++开发的OPENGL立方体,支持鼠标拖拽
- MFC小游戏,背景位图,用键盘上的上
- 切水果的鼠标跟随特效
- 双目测距,鼠标点击输出三维坐标
评论
共有 条评论