USB设备交互函数详解:批量输入与输出

需积分: 45 28 下载量 26 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"批量输入输出函数在USB通信中的应用以及LPC178x/177x微控制器的E2PROM和外部存储器控制器功能" 在USB通信中,批量输入输出是数据传输的一种重要方式,尤其在与外设交互时。批量传输允许一次性处理大量的数据,通常用于文件传输、打印机输出等需要大量数据交换的应用。在LPC178x/177x这样的微控制器中,USB通信是通过特定的函数来实现的。 批量输出函数主要涉及两个函数,即usbHostBulkWrite()和usbHostIntrWrite()。这两个函数在功能上是相同的,都用于向USB设备的批量或中断端点发送数据。在实际使用中,开发者可以根据个人偏好选择其中一个。通常,我们会以函数名usbHostBulkWrite()为例来讲解。该函数的原型为USB_INT8U usbHostBulkWrite(pucData, uiLength, ucMaxTry),其中pucData参数是指向发送数据缓冲区的指针,uiLength表示要发送的数据长度,ucMaxTry是当发送数据出错时的最大重试次数,如果设置为0,则表示不进行重试。如果函数执行成功,会返回USB_ERR_SUCESS,否则返回其他错误代码,具体的错误代码可参考表11.14。 批量输入函数同样有usbHostBulkRead()和usbHostBulkIn()两个选项,它们用于从USB设备的中断端点读取数据。这两个函数的使用方法与输出函数类似,但它们是用于接收数据。例如,函数usbHostBulkRead()的原型为USB_INT8U usbHostBulkRead(pucData, uiLength, ucMaxTry),接收数据缓冲区pucData将保存接收到的数据,uiLength是预期接收的数据长度,ucMaxTry是接收数据时的重试次数限制。成功接收数据后,函数会返回USB_ERR_SUCESS。 转向LPC178x/177x的功能部件,E2PROM存储器是一个重要的组成部分。E2PROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,即使在断电后也能保持数据。它在系统中主要用于存储配置信息、固件更新或者用户数据。E2PROM的操作包括写入、读取和擦除等,这些操作都需要遵循特定的时序和步骤,以确保数据的安全性和完整性。 5.16章节中详细介绍了LPC178x/177x的E2PROM存储器。它包括了对E2PROM的描述,特性,寄存器描述以及实际操作的步骤。寄存器描述部分详细列出了控制E2PROM操作的各个寄存器,这些寄存器用于设定地址、控制写入和读取操作。 外部存储器控制器(EMC)是另一个关键模块,它负责管理与外部存储设备(如SD卡、SRAM、DRAM等)的通信。EMC提供了多种内存接口,可以支持不同类型的存储设备,并且具备高速数据传输的能力。5.17章节将深入讨论EMC的概述和特性,帮助开发者理解和利用这一功能来扩展LPC178x/177x的存储能力。 批量输入输出函数在USB通信中扮演着至关重要的角色,而LPC178x/177x的E2PROM和EMC功能则为微控制器提供了丰富的存储和扩展能力。理解并熟练运用这些功能,能够有效提升嵌入式系统的设计效率和性能。