C8051F340 USB0 寄存器访问

/***************************************************************************
 *                    C8051F340 USB0 寄存器访问
 * 说明:
 *     看一下C8051F340 USB0部分的寄存器访问的原理,毕竟源代码的操作是按照
 * 原理来进行编写的。
 *
 *                                       2017-4-1 深圳 南山平山村 曾剑锋
 **************************************************************************/

一、参考文档:
    1. 8051F340/1/2/3/4/5/6/7/8/9/A/B/C/D Datasheet

二、USB0寄存器访问原理:
    1. 寄存器图:

    

    2. 寄存器访问:
        1. 针对C8051F340的USB0部分,特殊功能寄存器只有两个:
            1. USB0ADR(USB0控制器内部寄存器地址映射寄存器);
            2. USB0DAT(USB0控制器内部寄存器数据映射寄存器);
        2. 访问端点控制/状态寄存器之前,先要设置USB0内部的INDEX寄存器,USB0控制器会自动映射对应的端点寄存器。
        3. USB0ADR最高位表示USB0DAT状态寄存器,也就是当设置了USB0的映射地址时,数据要体现在USB0DAT寄存器中是需要那么一点点时间的。
        4. USB0ADR第7位主要用FIFO的连续读取的相关问题。
原文地址:https://www.cnblogs.com/zengjfgit/p/6655365.html