恩智浦FRDM-MCXN947开发实践指南–I2C部分解读

接口/总线/驱动

1139人已加入

描述

上个月提到的RT-Thread与NXP共同举办的 NXP FRDM-MCXN947 RT-Thread测评活动,目前测评已经完成,并且举办方已经将所有优秀的活动作品总结成了《恩智浦FRDM-MCX N947开发实践指南》。该电子书包含了基于FRDM-MCXN947开发板上所有支持的BSP外设的优秀用例,下面小编就抛砖引玉,以I2C部分已经学习和讲解。

本文使用MDK-ARM 5.39软件进行开发。使用RT-Thread ENV工具进行环境配置,方便地配置和管理RT-Thread工程的环境参数。

KeilMDK安装

RT-ThreadENV工具安装

在RT-Thread的丰富组件库中,I2C驱动软件扮演着至关重要的角色。它不仅负责上承应用层的多样需求,还要下接硬件层的精确操作。打开RT-Thread env工具,cd进入工程目录,通过menuconfig配置项目。

恩智浦

硬件层面上,I2C总线仅由两根线构成——数据线(SDA)和时钟线(SCL)。它们的简单结构使得I2C成为低成本和空间受限环境下的理想选择。本文硬件I2C采用引脚P0_25(SCL)和P0_24(SDA)。软件驱动层面上,RT-Thread提供了一套完整的I2C驱动框架,支持多种微控制器平台。这些特性使得I2C驱动能够满足各种复杂应用场景的需求。本文软件模拟I2C采用引脚P0_4(SCL)和P0_5(SDA)。硬件I2C引脚位于J2外侧的第5和第7引脚,软件I2C位于J9内测的第8和第9引脚。引脚图参考如下,注意不要接错!

恩智浦

软件模拟I2C

进入env工具修改设备驱动如下:

恩智浦

增加ssd1306的驱动用于测试i2c软件模拟,通过env工具增加ssd1306软件包:

恩智浦

添加drv_i2c驱动,注册i2c总线:

恩智浦

保存退出后更新软件包并重新生成工程:

恩智浦

keil编译下载:

恩智浦

输入测试指令:ssd1306_TestAll

恩智浦

恩智浦

I2C(软件模拟)测试完成。

硬件I2C

在env软件配置的基础上关闭软件模拟I2C

恩智浦

其中修改不变,通过FC1映射i2c1,设置对应引脚电气属性:

恩智浦

编译下载:

恩智浦

恩智浦

IIC(硬件)测试完成之后,我们得出结论:

通过测试发现使用硬件I2C来刷新屏幕时,感官速度相较于其他方式会快一些。此外,我们还注意到硬件I2C刷新屏幕可以显著提高感官速度、稳定性和可靠性。

在实际应用中,我们可以根据具体需求调整I2C总线的通信速率和配置参数,以达到最佳的屏幕刷新效果。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分