- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
相关API函数介绍 函数UARTCharPutNonBlocking()以“无阻塞”的形式发送数据,即不去探测发送FIFO里是否有可用空位。如果有空位则放入数据并立即返回,否则立即返回false表示发送失败。因此调用该函数时不会出现任何等待。UARTCharNonBlockingPut()是其等价的宏形式。函数UARTCharGetNonBlocking()以“无阻塞”的形式接收数据,即不去探测接收FIFO里是否有接收到的数据。如果有数据则读取并立即返回,否则立即返回-1表示接收失败。因此调用该函数时不会出现任何等待。UARTCharNonBlockingGet()是其等价的宏形式。 实验三、USB OTG鼠标实验 单独USB OTG例程所在目录:\ LSDEV-3S5956-V1.0光盘\Code\ LSDEV-3S5956-V1.0\LSDEV-3S5956-V1.0\ usb_otg_detect USB OTG:首先按下自锁按键,然后使用连接开发板到电脑。 此时打开Test\测试所需软件\串口通讯助手目录下的sscom32.exe,选择FTDI产生的虚拟串口,设定波特率为115200,数据位为8,停止位为1,校验无。 此时电脑就会发现一个新的鼠标设备,选择自动安装驱动程序,因为鼠标驱动是系统集成的,安装驱动完成后,我们按下开发板上的按键S1、S2,会发现光标会向左向右移动,这就说明开发板做从机没有问题。 OTG实验 接下来,我们测试OTG主机,根据下图连接: 此时打开Test\测试所需软件\串口通讯助手目录下的sscom32.exe,选择FTDI产生的虚拟串口,设定波特率为115200,数据位为8,停止位为1,校验无。 硬件初始化程序 // 配置usb供电控制引脚 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); GPIOPinConfigure(GPIO_PC5_USB0EPEN); GPIOPinConfigure(GPIO_PC6_USB0PFLT); GPIOPinTypeUSBDigital(GPIO_PORTC_BASE, GPIO_PIN_5 | GPIO_PIN_6); // 初始化USB模式,并设置回调函数 USBStackModeSet(0, USB_MODE_OTG, fn_mode_callback); // USB OTG模式初始化 USBOTGModeInit(0, 2000, g_pu8_hcd_pool, HCD_MEMORY_SIZE); 主从机初始化 void fn_host_init(void) { // 注册主机设备类 USBHCDRegisterDrivers(0, g_pp_host_class_drivers, g_ulNumHostClassDrivers); // 打开鼠标类设备,此时鼠标可以没有连接,这仅仅保存一个空间 // 并允许应用程序来修改,当鼠标连接的时候 g_u32_mouse_instance = USBHMouseOpen(fn_mouse_callback, g_pu8_buffer, MOUSE_MEMORY_SIZE); // 配置供电设置,这个设定供电使能信号为激活状态,没有使能供 电错误 USBHCDPowerConfigInit(0, USBHCD_VBUS_AUTO_HIGH | USBHCD_VBUS_FILTER); 主从机初始化 // OTG主函数 USBHCDMain(); e_usb_state = STATE_NO_DEVICE; } void fn_device_init(void) { // 初始化我们的设备信息 USBDHIDMouseInit(0, (tUSBDHIDMouseDevice *)g_sMouseDevice); } OTG主函数 while(1) { // OTG主函数 USBOTGMain(fn_get_tick_ms()); // Device模式 if(g_e_current_usb_mode == USB_MODE_DEVICE) { fn_device_main
文档评论(0)