首页 usb

usb

举报
开通vip

usbUSB人体学输入设备的实现 卓越电子1201 何珣 120910105 一. 实验目的: 1、了解和掌握USB总线模块的工作原理,掌握使用PSoC3实现USB总线模块通信的方法。 2、理解HID报告描述符的内容 二、实验步骤: 创建和配置工程: 1.在计算机上的桌面上,选择开始->所有程序- >Cypress->PSoC Creator 2.0->PsoC Creator 2.0。打开PSoC Creator软件; 2.在PSoC Creator 2.0软件的主界面下,选择File- >New->Project....

usb
USB人体学输入设备的实现 卓越电子1201 何珣 120910105 一. 实验目的: 1、了解和掌握USB总线模块的工作原理,掌握使用PSoC3实现USB总线模块通信的方法。 2、理解HID报告描述符的内容 二、实验步骤: 创建和配置工程: 1.在计算机上的桌面上,选择开始->所有程序- >Cypress->PSoC Creator 2.0->PsoC Creator 2.0。打开PSoC Creator软件; 2.在PSoC Creator 2.0软件的主界面下,选择File- >New->Project...; 3.在New Project窗口,选择Empty PSoC3 Design模板,并将工程命命名为SquareMouse。选择工程保存路径,点击“OK”按钮; 修改系统时钟配置: 1.在Workspace Explorer窗口下的Source标签栏下,选择Square Mouse.cydwr,并打开该文件。 2.选择Clock标签,出现系统时钟树界面。按照如图11.11所示的界面,配置系统时钟。 添加并配置USB文件系统USBFS: 1.拖动并且放置USBFS元件到原理图内(ComponentsCatalog->Communcation-> USBFS)。 2.双击器件原理图内的USBFS_1打开配置窗口。 3.将器件命名为USBFS_1。 4.如图11.12,选择HID Descriptor标签。 5.下一步选择Configuration Descriptor,打开图11.13的界面。由于该工程是由总线供电,所以必须限制该设备的最大供电电流。为设备指定合适的电流是非常重要的,这是因为每个集线器有100mA/500mA容限。对于这个应用来说,20mA是足够的。 6.下一步配置接口描述符。为了实现这个目的,点击图11.13左栏的Alternate Setting 0出现图11.14所示的界面,该界面中设置Class为HID,表示和主机连接的为HID。 7.一个HID报告描述符必须和接口关联。为了实现这个目的需要创建一个HID报告描述符。点击图11.14对话框中的HID Descriptor标签。按照图11.15界面的步骤配置HID描述符。其步骤包含: (1) 点击“Report Descriptor”标签。 (2) 点击“Add Report”按钮。 (3) 从“HID Item List”中选择一个条目。 (4) 为所选择的条目选择一个值。 (5) 点击“Add”按钮,添加一个HID条目到报告描述符中。 重复3-5步,将11.7所示的所有条目添加到HID报告描述符中。参考下图 图11.8给出了输入条目的设置,该设置用于鼠标按键的3位数据 如图11.9所示,为了保留字节剩下的5位,在鼠标按键的高5位补零。由于不想改变数据,因此除了设置比特0位常数外,使用相同的输入条目设置作为按键的设置。 如图11.10所示,最后的输入条目是X和Y轴信息。由于比特位2设置成相对的,主机接收到的信息包含X和Y数据的变化,然后主机根据这个信息相应的修改光标。 8.当完成上述步骤后,点击图11.14界面左栏中的 HID Class Descriptor选项,将HID Report设置为3 Button Mouse。 9.点击图11.15界面左栏中的Endpoint Descriptor选项,在Endpoint Attribute下,进行下面的设置: ? 将Direction设置为“IN”。 ? 将Transfer type设置为“INT”。 添加并且配置字符LCD: 1.拖动字符LCD并将其放置于原理图内(Component Catalog->Display->Character LCD)。 2.双击原理图内的LCD_Char_1器件打开配置窗口。 3.如图11.16所示,在Basic标签内按如下方式进行配置: ? Name:LCD; ? LCD Custom Character Set:None ? 选中Include ASCII to Number 配置引脚: 实验程序: #include static int8 Mouse_Data[3] = {0, 0, 0}; //[0] = Buttons, [1] = X-Axis, [2] = Y-Axis static uint16 Delay = 0; void main() { CYGlobalIntEnable;                        USBFS_1_Start(0, USBFS_1_3V_OPERATION);      while(!USBFS_1_bGetConfiguration());        USBFS_1_LoadInEP(1, Mouse_Data, 3);       LCD_Char_1_Start();                              LCD_Char_1_Position(0,0);                    LCD_Char_1_PrintString("  My First HID  "); for(;;) { while(!USBFS_1_bGetEPAckState(1));  USBFS_1_LoadInEP(1, Mouse_Data, 3);      switch (Delay){                        case 128:    Mouse_Data[1] = 5;  //Moves mouse to right Mouse_Data[2] = 0;  //Keeps Y static LCD_Char_1_Position(1,0); LCD_Char_1_PrintString("Mouse Right"); break; case 256:    Mouse_Data[1] = 0; //Keeps X static Mouse_Data[2] = 5; //Moves mouse down LCD_Char_1_Position(1,0); LCD_Char_1_PrintString("Mouse Down "); break; case 384:    Mouse_Data[1] = -5; //Moves mouse to left Mouse_Data[2] = 0;  //Keeps Y static LCD_Char_1_Position(1,0); LCD_Char_1_PrintString("Mouse Left "); break; case 512:    Mouse_Data[1] = 0;  //Keeps X static Mouse_Data[2] = -5; //Moves mouse up LCD_Char_1_Position(1,0); LCD_Char_1_PrintString("Mouse Up  "); Delay=0; break;  default:    break;  } Delay++; } } 三、实验结果:
本文档为【usb】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_682974
暂无简介~
格式:doc
大小:39KB
软件:Word
页数:11
分类:互联网
上传时间:2019-05-04
浏览量:4