linux系统下USB键盘驱动源码+使用文档说明 如何编写Linux下的USB键盘驱动 1. 指定USB键盘驱动所需的头文件: #include /*内核头文件,含有内核一些常用函数的原型定义*/ #include /*定义内存分配的一些函数*/ #include /*模块编译必须的头文件*/ #include /*输入设备相关函数的头文件*/ #include /*linux初始化模块函数定义*/ #include /*USB设备相关函数定义*/ 2. 定义键盘码表数组: /*使用第一套键盘扫描码表:A-1E;B-30;C-2E…*/ static unsigned char usb_kbd_keycode[256] = { 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 28, 1, 14, 15, 57, 12, 13, 26, 27, 43, 43, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106, 105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71, 72, 73, 82, 83, 86,127,116,117,183,184,185,186,187,188,189,190, 191,192,193,194,134,138,130,132,128,129,131,137,133,135,136,113, 115,114, 0, 0, 0,121, 0, 89, 93,124, 92, 94, 95, 0, 0, 0, 122,123, 90, 91, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113, 150,158,159,128,136,177,178,176,142,152,173,140 }; 3. 编写设备ID表: static struct usb_device_id usb_kbd_id_table [] = { { USB_INTERFACE_INFO(3, 1, 1) },/*3,1,1分别表示接口类,接口子类,接口协议;3,1,1为键盘接口类;鼠标为3,1,2*/ { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, usb_kbd_id_table);/*指定设备ID表*/ 4. 定义USB键盘结构体: struct usb_kbd { struct input_dev *dev; /*定义一个输入设备*/ struct usb_device *usbdev;/*定义一个usb设备*/ unsigned char old[8]; /*按键离开时所用之数据缓冲区*/ struct urb *irq/*usb键盘之中断请求块*/, *led/*usb键盘之指示灯请求块*/; unsigned char newleds;/*目标指定灯状态*/ char name[128];/*存放厂商名字及产品名字*/ char phys[64]
PCIE转千兆网RTL8111H(S)芯片硬件参考设计 Cadence原理图+PDF原理图+芯片数据手册:' RTL8111G_.DSN rtl8111g_.opj RTL8111G_16.DSN RTL8111G_16.opj rtl8111g_series_8111h_series_8118as_series_8106_series_8107_series_reference_schematic_v103.opj RTL8111G_SERIES_8111H_SERIES_8118AS_SERIES_8106_SERIES_8107_SERIES_REFERENCE_SCHEMATIC_V103.pdf RTL8111H(S)-CG_Datasheet_1.7.pdf RTL8111H(S)-CG_Datasheet_1.92 for yexun.pdf RTL8111H(S)_Layout_Guide_1.0.pdf
j-link调试使用文档之KEIL 下JLINK 调试LPC2210 外部FLASH
2021-07-05 17:02:34 476KB j-link使用说明
1
CSR8675蓝牙芯片官方PDF参考原理图+规格书+开发底板PDF原理图 CSR8675官方参考原理图.pdf CSR8675模块应用参考原理图.pdf CSR8675模块规格书.pdf CSR867x(最小系统图).pdf CSR867x核心板原理图.pdf csr86xx核心板封装.PcbLib 开发板底板原理图.pdf
​Spartan6 战神3 FPGA开发板底板ALTIUM设计硬件原理图+PCB+AD集成封装库, 封装库器件型号列表如下: Component Count : 85 Component Name ----------------------------------------------- 0402 0603 0603D 0805 0805D 1206 1206R ALARM ALARM - duplicate b0805 BGA84C80P15X9_1250X800X120 BGA96CDDR3 C10X8 CE CY5.2X3.4 CY5032 DC2.5 DC5.0 DC031A DIP4T DPY_4_1 DPY_4_2 HDR1X2 HDR1X3 HEADER1X4 HEADER1X6 HEADER2X2X2.5 HEADER2X3X2.5T HEADER2X5-2.0 HEADER2X5X2.5 HEADER5X2X2.0T HEADER7X2X2.0 HEADER7X2X2.5 HEADER8X3X2.54 HEADER10X1X3.5 HEADER10X2X2.5 HEADER20X2X2.0 HEADER20X2X2.0T HEADER20X2X2.5 HEADER20X2X2.5T HR911105A INDP7465X30N LD8 LD10 LD12 LED-M LQFP48 PCBComponent_1 - duplicate PCBComponent_1 - duplicate1 PCBComponent_1 - duplicate2 PCBComponent_1 - duplicate3 PQFP-G32 PS2-6 puulogo PWR5-2.5 Q9_BNC QFN_40 QFN16 QFN40 RCA SDKA-X SOIC8N SON SOP8 SOP16W SOP16W1 SOP127P600-8N SOT-23 SOT-23-5 SOT-23AS SOT-223 SSOP28 SW-3X9 SW-4-SM SW1-2-3 SW8X8 SW123 TF24-37 TFT32QVT TQ144 TQFP32 TQFP44 USB_MINI VGA-15 Y5X7
Spartan6 FPGA开发板底板ALTIUM设计硬件原理图+PCB+核心板及外围模块PDF原理图文件: CLOCK.SchDoc CORE.Harness CORE.SchDoc FUNCTION.Harness FUNCTION.SchDoc GPIO.Harness GPIO.SchDoc POWER.SchDoc SP6Dark.pcbdoc Sp6_Dark_Genius.csv Sp6_Dark_Genius.pdf SP6_Dark_Genius.SchDoc SP6_Dark_Mars2.SchDoc SP6_Dark_Mars3.SchDoc Sp6_Dark_MarsG3.IntLib Sp6_Dark_MarsG3.pdf Sp6_Dark_MarsG3.PrjPCB Spartan6 FPGA开发板底板ALTIUM设计硬件原理图+PCB+封装库文件.zip Spartan6 FPGA底板PDF格式.pdf Spartan6 FPGA底板元件库.IntLib Spartan6 FPGA核心板PDF格式.pdf 通用标准外扩模块-100M网卡.pdf 通用标准外扩模块-ADCDAC.pdf 通用标准外扩模块-TFT32.pdf 通用标准外扩模块-USB2_0通信及数据采集.pdf 通用标准外扩模块-Video.pdf
STM32F103RC_F401RB_F072RB通信基板PDF原理图
1
Java物资管理系统源码+程序使用说明文档 附加SQL Server 2005数据库 (1)将MR\07\WebRoot\Database文件夹中的扩展名为db_Material_Data.MDF和db_Material_Log.LDF的两个文件拷贝到本地机器的MyEclipse工作空间以外的任何位置。 (2)打开SQL Server 2005的“SQL Server Management Studio”,并登录,然后展开本地服务器,在“数据库”节点上单击鼠标右键,在弹出的快捷菜单中选择“附加”子节点。 (3)将弹出“附加数据库”对话框,在该对话框中单击“添加”按钮,选择所要附加数据库的db_Material_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。 将程序导入到MyEclipse中,并发布运行 (1)将“MR\07\”文件夹拷贝到MyEclipse的工作空间中。 (2)启动MyEclipse,在左侧的“包资源管理器”中,单击鼠标右键,选择“Import”菜单项,在弹出的对话框中,展开General节点,并选择“Existing Projects into Workspace”子节点,如图1.1所示。 图1.1 Import对话框 (3)单击“next”按钮,进入到Import Projects对话框中,选择工作空间中的07,单击“Finish”按钮,完成项目的导入。 (4)将程序所需的Struts 1.2、Hibernate3.3和SQL Server 2005数据库驱动包拷贝到工程的WebRoot\WEB-INF\lib文件夹中,如图1.2所示。 图1.2 添加程序所需的Jar包后的效果 (5)单击工具栏中的 按钮,在弹出对话框的project下拉列表框中,选择项目名称07,单击add按钮,在弹出的new deployment对话框的server下拉列表框中选择要使用的服务器这里为MyEclipse Tomcat,单击Finish按钮,返回到Project Deployments对话框中,单击OK按钮。 (6)单击工具栏中的 按钮的三角形,在弹出菜单中选择“MyEclipse Tomcat/Start”菜单项,开启Tomcat服务器。 (7)打开IE浏览器,在地址栏中输入http://localhost:8080/07,并按下Enter键,进入本程序主页面。 使用说明 主要功能 物资管理是企业管理非常重要的一环,它对企业的发展起着非常举足轻重的作用。由于物资的种类繁多,在各部门进出频繁,使得物资管理变得十分复杂。开发一套完善的物资管理系统不但可以使物资的管理者,能够对物资的整个流程状态、库存状况了如指掌,并为决策管理提供科学依据,从而提高了管理水平和工作效率,而且可以使工作人员甩掉手工记账方式,从而最大限度地减少了手工操作带来的失误,达到事半功倍的效果。物资管理系统作为企业管理自动化、规范化的一部分,对提高企业管理效率、提高企业经济效益发挥不可替代的作用。 注意事项 (1)本系统用户名称:mr;密码mrsfot。 (2)库存盘点后,盘点数量是在库存盘点表打印出来时手动添加。 (3)在删除物资信息时,如果将重要信息删除,单击“恢复”按钮,即可将该信息恢复回来。 业务流程 (1)打开“系统管理/用户管理”菜单项:对用户信息添加、权限修改以及删除操作。 (2)打开“系统管理/系统初始化”菜单项:将当前所有数据进行系统初始化操作。 注意:在初始化前最好先对数据进行备份,以免造成数据丢失。 (3)单击“修改密码”按钮,修改当前正在使用用户密码。 (4)打开“基础信息/供应商管理”菜单项:对供应商信息添加、修改以及删除操作。 (5)打开“基础信息/物资管理”菜单项:对物资信息添加、修改、删除以及恢复操作。 注意:为防止将有用信息误操作删除,本程序提供了恢复功能,如果确认该信息不需要,可在数据库中删除。 (6)打开“基础信息/部门管理”菜单项:对部门信息添加以及删除操作。 (7)打开“物资入库/采购登记”菜单项:对采购信息登记操作。 注意:如果采购登记的物资信息没有审核操作,那么该物资无法入库。 (8)打开“物资入库/审核入库”菜单项:对登记的采购入库信息审核以及查询操作。 (9)打开“物资出库/部门领用”菜单项:对部门领用信息添加操作。 (10)打开“物资出库/物资借出”菜单项:对物资借出信息添加操作。 注意:如果借出的物资没有审核,那么该物资属于借出。 (11)打开“物资出库/物资审核”菜单项:对借出的物资信息审核操作。 (12)打开“物资入库/借出归还”菜单项:对借出物资信息归还以及查询操作。 (13)打开“物资处理/库存盘点”菜单项:对库存信息浏览操作。 (14)打开“物资处理/部门报损”
全志A31四核设计平板电脑PDF原理图+A31芯片数据手册,可以做为你学习设计参考。
GD32F103ZET6开发板PDF原理图+硬件用户手册+软件Demo源码资料,01_Running_LED 02_SysTick_LED 03_USART1_Print 04_USART2_Print 05_I2C_EEPROM 06_SPI_SPI-Flash 07_RTC_Clock 08_EXMC_NandFlash 09_EXMC_TouchScreen 10_ADC_DMA 11_DAC Output Voltage Value 12_SDIO_SDCardTest 13_I2S_Audio Player 14_USB_Custom_HID #include "gd32f10x.h" #include #include "systick.h" /* Private function prototypes -----------------------------------------------*/ void LED_config(void); void Turn_On_LED(uint8_t LED_NUM); /* Private variables ---------------------------------------------------------*/ uint8_t count=0; /* Private functions ---------------------------------------------------------*/ /** * @brief Configure the GPIO ports. * @param None * @retval None */ void LED_config(void) { GPIO_InitPara GPIO_InitStructure; /* Enable GPIOF clock */ RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOF, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0 |GPIO_PIN_1 |GPIO_PIN_2 |GPIO_PIN_3; GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ; GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT_PP; GPIO_Init(GPIOF,&GPIO_InitStructure); GPIO_ResetBits(GPIOF, GPIO_PIN_0 |GPIO_PIN_1 |GPIO_PIN_2 |GPIO_PIN_3); } /** * @brief Light the LEDs. * @param LED_NUM:LEDx where x can be 2..5. * @retval None */ void Turn_On_LED(uint8_t LED_NUM) { switch(LED_NUM) { /* Light the LED2 */ case 0: GPIO_SetBits(GPIOF,GPIO_PIN_0); break; /* Light the LED3 */ case 1: GPIO_SetBits(GPIOF,GPIO_PIN_1); break; /* Light the LED4 */ case 2: GPIO_SetBits(GPIOF,