泰凌微TLSR825X开发五 硬件IIC
生活随笔
收集整理的這篇文章主要介紹了
泰凌微TLSR825X开发五 硬件IIC
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
TLSR8258支持硬件I2C串行總線,可作為主模式(master)和從屬模式(slave)
泰凌微I2C模塊支持標(biāo)準(zhǔn)模式100kbps和快速模式400kbps,但必須保證系統(tǒng)時鐘頻率是通信速率的10倍以上
本章主要講解下I2C主模式master下的使用,如有異議,歡迎留言指正
功能管腳
- 復(fù)用引腳必須成對匹配
| GPIO_PA3 | GPIO_PA4 |
| GPIO_PB6 | GPIO_PD7 |
| GPIO_PC0 | GPIO_PC1 |
| GPIO_PC2 | GPIO_PC3 |
寄存器
- I2CSP [0x00]:分頻寄存器,僅master模式需要配置,時鐘計算公式為
- I2C clock = system clock / (4*divclock)
- I2C_ID [0x01]:從設(shè)備地址寄存器,最低位為讀寫位
- I2CMST [0x02]:狀態(tài)寄存器,獲取當(dāng)前是否忙與ACK接收狀態(tài)
- I2CSCT0 [0x03]:控制寄存器0,配置主從模式與slave讀寫內(nèi)存地址映射
- I2CAD [0x04]:master模式下的數(shù)據(jù)緩存,高8位
- I2CDW [0x05]:master模式下的數(shù)據(jù)緩存,低8位
- I2CDR [0x06]:讀寫數(shù)據(jù)寄存器
- I2CSCT1 [0x07]:控制寄存器1,配置I2C發(fā)送數(shù)據(jù)的流程與使能ack讀取
- 如可以配置流程順序為 start->0x01->0x04->0x05->0x06->stop
- I2CMAP_HADR [0xe0]:映射模式下I2C從模式數(shù)據(jù)接收緩存地址讀取
- HOSR_ADR[0xe1~0xe3]:從模式下映射模式緩存地址,重定向到sram地址
- I2CMAP_HOST [0xe4]:從模式下的中斷狀態(tài),主機讀寫后觸發(fā),寫1清除
配置流程
DMA模式
- 僅slave支持DMA模式
代碼實例
驅(qū)動代碼可以參考i2c.c文件
接口API
- i2c_master_init:初始化時鐘與從機地址
- i2c_write_byte:主機寫一個字節(jié)數(shù)據(jù)到從機
- i2c_read_byte:主機到從機讀一個字節(jié)數(shù)據(jù)
- i2c_write_series:主機寫入一包數(shù)據(jù)到從機
- i2c_read_series:主機到從機讀取一包數(shù)據(jù)
例程代碼參考app_i2c_master.c文件
- 初始化i2c主機模式
- I2C master讀寫測試程序
問題勘誤
由于設(shè)計上SPI模塊和I2C模塊在芯片內(nèi)部共享了部分硬件資源,所以在軟件上無法做到I2C和SPI從機模式同時使用
總結(jié)
以上是生活随笔為你收集整理的泰凌微TLSR825X开发五 硬件IIC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 驾校计算机岗位管理制度,驾校计算机管理制
- 下一篇: 大数据系统计算技术展望