LPC178x/177x初始化与E2PROM、外部存储器控制器详解

需积分: 45 28 下载量 42 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"初始化函数-word.origins.the.secret.histories.of.english.words.from.a.to.z" 本文主要探讨了在LPC178x微控制器环境中初始化USB主机功能的相关知识点,特别是涉及到了一个关键的初始化函数——usbHostInitialize()。该函数是为ZLG/USB1788 HOST模块设置运行环境的重要步骤。 **初始化函数usbHostInitialize()** `usbHostInitialize()`函数的主要作用是初始化LPC178x上的USB主机控制器,确保其能够正确地与外设进行通信。它执行的任务包括设置硬件引脚连接、创建调度任务以及建立必要的信号量,这些是USB主机功能正常工作所必需的基础设置。 函数原型如下: ```c USB_BOOL usbHostInitialize (USB_INT8U ucShedPrio, USB_INT8U ucEnumPrio, void (*pEnumSucessCallBack)(void), void (*pDevDisconCallBack)(void)) ``` 参数说明: 1. `ucShedPrio`: 调度任务的优先级,数值越小优先级越高。 2. `ucEnumPrio`: 枚举任务的优先级,相对于调度任务优先级可以较低。 3. `pEnumSucessCallBack`: 枚举成功的回调函数,如果不需要可设置为NULL。 4. `pDevDisconCallBack`: 设备断开连接的回调函数,如果不需要可设置为NULL。 返回值:如果初始化成功,返回TRUE;否则,返回FALSE。 **注意事项** 在调用`usbHostInitialize()`时,需要注意调度任务优先级`ucShedPrio`应设置得较高,而枚举任务优先级`ucEnumPrio`可以相对较低。这样可以确保USB主机的关键操作(如设备枚举)能够在适当的时间执行。同时,用户定义的其他任务优先级不能与这两个任务的优先级相同,以防止冲突和异常。 在LPC178x系列微控制器中,USB功能的实现依赖于精心配置的硬件和软件环境,`usbHostInitialize()`就是这个过程中的关键一步。此外,LPC178x还包含其他丰富的功能部件,如E2PROM存储器和外部存储器控制器(EMC)。 **E2PROM存储器** E2PROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,可以在不供电的情况下保留数据。LPC178x中的E2PROM功能允许用户存储配置信息或固件更新,具有以下特性: 1. 描述:E2PROM提供了一种可编程和可擦除的存储解决方案。 2. 特性:可能包括快速读取速度、多次编程/擦除周期以及数据保存期限等特性。 3. 寄存器描述:E2PROM的操作通常涉及到一系列的控制和状态寄存器,用于配置和监控存储操作。 4. E2PROM操作:可能包括读取、写入、擦除等操作,每个操作都有特定的时序和限制。 **外部存储器控制器(EMC)** EMC是LPC178x中用于控制外部存储设备(如SRAM、DRAM、Nor Flash等)的接口。它提供了一种灵活的方式,使微控制器能够与多种类型的外部存储器进行高速数据交换: 1. 概述:EMC负责设置时序、地址映射和其他控制信号,以适应不同类型的存储器设备。 2. 特性:可能包括支持多种存储器类型、灵活的时序配置等。 LPC178x微控制器提供了广泛的硬件资源来支持复杂的系统设计,从USB主机初始化到E2PROM和EMC的管理,这些都是构建高效、可靠嵌入式系统的基石。