0. 0x00010048,SYS_xtal_in_cnt,crystal counter register。

1. 0x00010500,設定 GPIO 的 direction。
前16個bit指定GPIO,後16個bit指定input(0)/output(1)。
比如設定 GPIO 3 為 output,0x00080008。

2. 0x00010504,設定 GPIO 的值。
前16個bit指定GPIO,後16個bit指定 GPIO 的值。
比如設定 GPIO 3 為 high,0x00080008。

3. 0x00010508,設定 GPIO 跟 IRQ mapping。
用法不明。

4. 0x00010580,I2C_MASTER_CONFIG,設定 I2C master config,也就是 GPIO 0,1。
bit 8: I2CEnable
bit 5~7: register address length (0~7 = 1~8)
bit 2~4: device address length (0~7 = 1~8)
bit 1: register address disable

5. 0x00010584,I2C_MASTER_CLK_DIV,設定 I2C master clock divition。
計算方式: (ASSUMED_SYSCLK * 1000*1000) / (2000 * I2C_CLK)
比如: CPU 200MHz, I2C 100kHz = (200*1000)/(2*100) = 1000

6. 0x00010588,I2C_MASTER_DEV_ADDR,設定 I2C device address。

7. 0x0001058C,I2C_MASTER_ADDR,設定 I2C register address。

8. 0x00010590,I2C_MASTER_DATA_OUT,設定 I2C output data。

9. 0x00010594,I2C_MASTER_DATA_IN,保存 I2C input data buffer。

10. 0x00010598,I2C_MASTER_STATUS,保存 I2C Master status。
bit 3: ack error
bit 2: reading
bit 1: writing
bit 0: busy

11. 0x0001059C,I2C_MASTER_STARTXFER,開始動作。
bit 2: 0-send stop, 1-omit stop
bit 0: 0-write, 1-read

12. 0x000105A0,I2C_MASTER_BYTE_CNT,傳送多少bytes,count = value - 1。
也就是寫入1個byte,I2C_MASTER_BYTE_CNT要給它0。

13. 0x000105A4,I2C_MASTER_INTEN,設定 I2C master interrupt enable。

14. 0x000105A8,I2C_MASTER_INT,保存 I2C master interrupt status。

15.

創作者介紹

邱小新の工作筆記

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()