[国产MCU]-W801开发实例-I2C控制器
I2C控制器
文章目录
- I2C控制器
- 1、I2C控制器介绍
- 2、I2C驱动API
- 2、I2C简单使用示例
1、I2C控制器介绍
I2C总线是一种简单、双向二线同步串口总线。I2C总线设备之间通信只需两根线即可完成设备之间的数据传输。
I2C总线设备分为主机和从机,这取决于数据传输方向。I2C总线上的主机设备向从机发送数据时,首先需要寻址从设备,然后主动发送数据到从设备,最后由主机设备终止数据传输。I2C总线上主机设备接收从机设备数据时,首先需要寻址从机设备,然后接收从机设备发送的数据,最后由主机设备终止数据传输。主机设备负责产生定时时钟和终止数据传送。
W801的I2C控制器有如下主要特性:
- APB总线协议标准接口
- 只可作为主设备控制器使用
- I2C工作速率可配置,100KHz-400KHz:通过设置PRERlo和PRERhi寄存器配置100KHz-400KHz之间的任意总线频率整数分频值。
- 多路GPIO可复用成I2C通信接口
- 可快速输出和检测时序信号:通过设置寄存器CR_SR的相应位可以使控制器快速输出或检测总线START信号,总线STOP信号,总线ACK信号,总线NACK信号。在主机模式下,I2C接口启动数据传输并生成时钟信号。一个串行数据传输始终以启动信号开始,以停止信号结束。一旦在总线