主要变化
新的参考手册主要增加了启动信号的中断,以前的版本没有启动信号中断的检测,其实主要是寄存器I2C_FLT的变化。通过对比可以发现,在新的参考手册中增加了启动中断使能和启动信号中断检测标志,因为在新的参考手册中启动信号中断检测标志占了一位FLT的域,所以FLT的取值设置范围由25-1变为了24-1,这一点也要注意。
老的版本的参考手册(Rev 1, 06/2014)对I2C_FLT的描述
寄存器的具体描述可以参考下图
新版本的参考手册(Rev 2, 02/2015)对I2C_FLT的描述
寄存器的具体描述可以参考下图
驱动程序的变化
由于新的参考手册增加了对启动中断的支持,所以对驱动程序的开发在处理中断程序时要增加对启动中断的判断和清中断标志,这一变化使得I2C的整个处理流程都可以在中断中完成,之前的版本启动信号要在中断之外处理,有点不方便,这次飞思卡尔的加入启动信号的中断检测方便不少,具体的中断流程的变化可以对比一下,在没有启动中断检测时,进入中断只要清I2C的IICIF中断标志,如下图流程图片段所示:
在新增加启动信号中断检测后,进入中断要判断是不是启动停止中断和重复启动中断,如果是要先清启动停止中断的标志,在清除IICIF中断标志,顺序不能乱。新的中断流程图片段如下图所示:
总结
要关注MCU或者数据参考手册的变化和勘误表的变化,以使你的代码更加优化和方便。多上官网查看产品的资料,相信你一定收益匪浅。