前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个寄存器变化引起的变化

一个寄存器变化引起的变化

作者头像
用户1605515
发布2018-04-10 13:17:05
7010
发布2018-04-10 13:17:05
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿
昨天下载了最新的飞思卡尔基于Cortex M4核的kinetis kv4xMCU数据参考手册,发现跟之前用的对于I2C模块一个寄存器的描述有变动,正好最近有使用过这个模块,所以非常敏感的仔细阅读了变化的这部分,总结一下分享给各位猿友,希望对大家有帮助

主要变化

新的参考手册主要增加了启动信号的中断,以前的版本没有启动信号中断的检测,其实主要是寄存器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或者数据参考手册的变化和勘误表的变化,以使你的代码更加优化和方便。多上官网查看产品的资料,相信你一定收益匪浅。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档