标签:
s3c2440内部有一个IIC总线接口。它具有四种操作模式:主设备发送模式、主设备接收模式、从设备发送模式和从设备接收模式。
主设备发送模式流程:首先配置IIC模式,然后把从设备地址写入接收发送数据移位寄存器IICDS中,再把0xF0写入控制状态寄存器IICSTAT中,这时等待从设备发送应答信号,如果想要继续发送数据,那么在接收到应答信号后,再把待发送的数据写入寄存器IICDS中,清除中断标志后,再次等待应答信号;如果不想再发送数据了,那么把0x90写入寄存器IICSTAT中,清除中断标志并等待停止条件后,即完成了一次主设备的发送。
主设备接收模式流程:首先配置IIC模式,然后把从设备地址写入接收发送数据移位寄存器IICDS中,再把0xF0写入控制状态寄存器IICSTAT中,这时等待从设备发送应答信号,如果想要接收数据,那么在应答信号后,读取寄存器IICDS,清除中断标志;如果不想接收数据了,那么就向寄存器IICSTAT写入0x90,清除中断标志并等待停止条件后,即完成了一次主设备的接收。
IICCON:[7]设置是否发出应答信号
[6]设置IIC的时钟频率
[5]用于是否使能发送和接收中断
[4]用于中断的标志,当接收或发送数据后一定要对该位进行清零,以清除中断标志。
IICSTAT:[7:6]用于设置是哪种操作模式
[5]写0或写1时,则表示结束IIC或开始IIC通讯
[4]用于是否使能接收/发送数据。
寄存器IICCON的第6位和低4位用于设置IIC的时钟频率,因为IIC的时钟线SCL都是由主设备提供的。s3c2440的IIC时钟源为PCLK,当系统的PCLK为50MHz,而从设备最高需要100kHz时,可以将IICCON的第6位置1,IICCON的低4位全为0即可。
标签:
原文地址:http://www.cnblogs.com/liuchengchuxiao/p/4204516.html