USB主机函数详解:初始化、卸载与中断传输
需积分: 45 35 浏览量
更新于2024-08-06
收藏 18.87MB PDF 举报
"LPC178x下册-USB主机驱动与中断输入输出函数详解"
在LPC178x系列微控制器的USB主机驱动中,有两类关键的函数用于数据传输:初始化和卸载函数以及中断输入输出函数。这些函数对于实现与USB设备的有效交互至关重要。
首先,我们来看初始化和卸载函数。初始化函数`usbHostInitialize()`负责设置USB主机软件包,包括创建任务和信号量等系统资源,以便进行USB通信。相反,卸载函数`usbHostDeInit()`用于释放由`usbHostInitialize()`分配的资源。调用`usbHostDeInit()`意味着停止与USB设备的所有通信。这两个函数成对使用,当需要进行USB通信时调用初始化函数,不再需要通信时调用卸载函数。需要注意的是,设备被拔出并不意味着立即调用卸载函数,因为这样会导致设备在重新插入时无法自动枚举。
接下来,我们关注中断输出函数。中断输出涉及向USB设备的中断端点发送数据。这里有两个等效的函数,`usbHostIntrWrite()`和`usbHostIntrOut()`。它们的函数原型相同,只是函数名不同,用户可根据个人喜好选择。这个函数的主要任务是执行中断传输,将数据发送到设备的中断端点。函数接收发送数据的缓冲区地址、数据长度以及最大重试次数。返回值表示操作是否成功,其他返回值可能表示数据发送失败,并可参考相关错误代码表。
最后,中断输入函数,包括`usbHostIntrRead()`和`usbHostIntrIn()`,用于从USB设备的中断端点读取数据。同样,这两个函数在功能上是等价的,只是名字不同。它们从设备接收数据,使用者可以根据习惯选择。这些函数只能在设备成功枚举后调用,以确保数据读取的正确性。
在LPC178x系列微控制器中,USB主机驱动的中断输入输出函数是实现高效、可靠USB通信的基础。理解并正确使用这些函数,开发者可以构建出能够与各种USB设备有效交互的应用程序。同时,微控制器还包含了其他功能部件,如E2PROM存储器和外部存储器控制器(EMC),这些也提供了丰富的存储和扩展能力,为系统设计提供了更多可能性。
2013-02-15 上传
2022-06-20 上传
2019-02-18 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-12 上传
沃娃
- 粉丝: 31
- 资源: 3962
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍