hiduser.c
来自「bluetooth开发,多用途~~ for lpc2148」· C语言 代码 · 共 133 行
C
133 行
/*----------------------------------------------------------------------------
* U S B - K e r n e l
*----------------------------------------------------------------------------
* Name: HIDUSER.C
* Purpose: HID Custom User Module
* Version: V1.00
*----------------------------------------------------------------------------
* This file is part of the uVision/ARM development tools.
* Copyright (c) 2005 Keil Software. All rights reserved.
*---------------------------------------------------------------------------*/
#include "type.h"
#include "usb.h"
#include "hid.h"
#include "usbcfg.h"
#include "usbcore.h"
#include "hiduser.h"
#include "demo.h"
BYTE HID_Protocol;
BYTE HID_IdleTime[HID_REPORT_NUM];
/*
* HID Get Report Request Callback
* Parameters: None (global SetupPacket and EP0Buf)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_GetReport (void) {
// ReportID = SetupPacket.wValue.WB.L;
switch (SetupPacket.wValue.WB.H) {
case HID_REPORT_INPUT:
GetInReport();
EP0Buf[0] = InReport;
break;
case HID_REPORT_OUTPUT:
return (FALSE); // Not Supported
case HID_REPORT_FEATURE:
// EP0Buf[] = ...;
// break;
return (FALSE); // Not Supported
}
return (TRUE);
}
/*
* HID Set Report Request Callback
* Parameters: None (global SetupPacket and EP0Buf)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_SetReport (void) {
// ReportID = SetupPacket.wValue.WB.L;
switch (SetupPacket.wValue.WB.H) {
case HID_REPORT_INPUT:
return (FALSE); // Not Supported
case HID_REPORT_OUTPUT:
OutReport = EP0Buf[0];
SetOutReport();
break;
case HID_REPORT_FEATURE:
return (FALSE); // Not Supported
}
return (TRUE);
}
/*
* HID Get Idle Request Callback
* Parameters: None (global SetupPacket and EP0Buf)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_GetIdle (void) {
EP0Buf[0] = HID_IdleTime[SetupPacket.wValue.WB.L];
return (TRUE);
}
/*
* HID Set Idle Request Callback
* Parameters: None (global SetupPacket)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_SetIdle (void) {
HID_IdleTime[SetupPacket.wValue.WB.L] = SetupPacket.wValue.WB.H;
/* Idle Handling if needed */
// ...
return (TRUE);
}
/*
* HID Get Protocol Request Callback
* Parameters: None (global SetupPacket)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_GetProtocol (void) {
EP0Buf[0] = HID_Protocol;
return (TRUE);
}
/*
* HID Set Protocol Request Callback
* Parameters: None (global SetupPacket)
* Return Value: TRUE - Success, FALSE - Error
*/
BOOL HID_SetProtocol (void) {
HID_Protocol = SetupPacket.wValue.WB.L;
/* Protocol Handling if needed */
// ...
return (TRUE);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?