USER GUIDE / PERIPHERALS / I2C / REGISTER LIST
寄存器列表
寄存器内存映射
对包含未使用位的地址位置进行读操作,会在每个未使用位上返回一个 0 值。
I2C 控制器中的寄存器可以通过基地址联合地址偏移量来访问。
表 1 寄存器内存映射基地址
| 名称 | 基地址 | 描述 |
|---|---|---|
| I2C0 | 0x100CA000 | I2C0 的基地址 |
| I2C1 | 0x10010000 | I2C1 的基地址 |
| I2C2 | 0x10011000 | I2C2 的基地址 |
I2C 控制器由应用程序在每次操作前配置的寄存器控制,下表列出了所有寄存器。
表 2 I2C 寄存器映射
| 名称 | R/W | 复位值 | 地址偏移 | 访问大小 |
|---|---|---|---|---|
| I2C_CON | RW | 0x007F | 0x0000 | 32bits |
| I2C_TAR | RW | 0x1055 | 0x0004 | 32bits |
| I2C_SAR | RW | 0x0055 | 0x0008 | 32bits |
| I2C_HS_MADDR | RW | 0x0001 | 0x000C | 32bits |
| I2C_DC | RW | 0x0000 | 0x0010 | 32bits |
| I2C_SHCNT | RW | 0x0190 | 0x0014 | 32bits |
| I2C_SLCNT | RW | 0x01D6 | 0x0018 | 32bits |
| I2C_FHCNT | RW | 0x003C | 0x001C | 32bits |
| I2C_FLCNT | RW | 0x0082 | 0x0020 | 32bits |
| I2C_HHCNT | RW | 0x0006 | 0x0024 | 32bits |
| I2C_HLCNT | RW | 0x0010 | 0x0028 | 32bits |
| I2C_INTST | R | 0x0000 | 0x002C | 32bits |
| I2C_INTM | RW | 0x08FF | 0x0030 | 32bits |
| I2C_RAW_INTR_STAT | R | 0x0000 | 0x0034 | 32bits |
| I2C_RXTL | RW | 0x001F | 0x0038 | 32bits |
| I2C_TXTL | RW | 0x0020 | 0x003C | 32bits |
| I2C_CINT | R | 0x0000 | 0x0040 | 32bits |
| I2C_CRXUF | R | 0x0000 | 0x0044 | 32bits |
| I2C_CRXOF | R | 0x0000 | 0x0048 | 32bits |
| I2C_CTXOF | R | 0x0000 | 0x004C | 32bits |
| I2C_CRXREQ | R | 0x0000 | 0x0050 | 32bits |
| I2C_CTXABT | R | 0x0000 | 0x0054 | 32bits |
| I2C_CRXDN | R | 0x0000 | 0x0058 | 32bits |
| I2C_CACT | R | 0x0000 | 0x005C | 32bits |
| I2C_CSTP | R | 0x0000 | 0x0060 | 32bits |
| I2C_CSTT | R | 0x0000 | 0x0064 | 32bits |
| I2C_CGC | R | 0x0000 | 0x0068 | 32bits |
| I2C_ENABLE | RW | 0x0000 | 0x006C | 32bits |
| I2C_ST | R | 0x0006 | 0x0070 | 32bits |
| I2C_TXFLR | R | 0x0000 | 0x0074 | 32bits |
| I2C_RXFLR | R | 0x0000 | 0X0078 | 32bits |
| I2C_SDAHD | RW | 0x0055 | 0x007C | 32bits |
| I2C_ABTSRC | R | 0x0000 | 0x0080 | 32bits |
| I2C_DMACR | RW | 0x0000 | 0x0088 | 32bits |
| I2C_DMATDLR | RW | 0x0000 | 0x008C | 32bits |
| I2C_DMARDLR | RW | 0x0000 | 0x0090 | 32bits |
| I2C_SDASU | RW | 0x0064 | 0x0094 | 32bits |
| I2C_ACKGC | RW | 0x0001 | 0x0098 | 32bits |
| I2C_ENBST | R | 0x0000 | 0x009C | 32bits |
| I2C_FS_SPKLEN | RW | 0x0001 | 0x00A0 | 32bits |
| I2C_HS_SPKLEN | RW | 0x0001 | 0x00A4 | 32bits |