全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

恩智浦FRDM-MCXA153 RT-Thread开发实战(六):I2C总线开

时间:2024-11-21 09:26

人气:

作者:admin

标签: 恩智浦  RT-Thread  I2C总线  F 

导读:  工程创建 目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153开发板BSP,需要从gitee下载最新的主线,通过scons命令创建工程。下载好主线源码后,在rt-threadsp xpmcxmcxafrdm-mcxa153 目录下打开scons环...

工程创建 目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153开发板BSP,需要从gitee下载最新的主线,通过scons命令创建工程。下载好主线源码后,在rt-threadsp xpmcxmcxafrdm-mcxa153 目录下打开scons环境,配置IIC驱动和SSD1306 OLED

I2C配置

恩智浦FRDM-MCXA153开发板板载的mikroBUS socket预留一个IIC接口,具体可以从针脚图看到下图红框处的针脚。

1a62be10-a7a3-11ef-93f3-92fbcf53809c.png

NXP MCXA153引入了一个Flexcomm概念,每个Flexcomm接口可通过软件选择作为USART、SPI或I2C接口。此处只需要在menuconfig中选择I2C0即可。

1a966d1e-a7a3-11ef-93f3-92fbcf53809c.png

1. 因为FRDM-MCXA153的BSP目前只有pin和Uart的驱动,需要增加drv_i2c.c文件,直接从已有的BSP(如N947)拷贝过来,同时修改baud、clock_attach_id、clock_div_name初始化值:

1a9bb68e-a7a3-11ef-93f3-92fbcf53809c.png

2. 修改 pin_mux.c 文件中的 BOARD_InitPins 函数,添加I2C0的复位和引脚初始化代码:

1aa28fd6-a7a3-11ef-93f3-92fbcf53809c.png

同时加上I2C0的SDA SCL针脚初始化代码:

1ab8e6e6-a7a3-11ef-93f3-92fbcf53809c.png

1ad32b3c-a7a3-11ef-93f3-92fbcf53809c.png

1ae8b6f0-a7a3-11ef-93f3-92fbcf53809c.png

SSD1306 OLED配置

在menuconfig中选择enable SSD1306,并且设置好I2C bus name,I2C的地址默认是0x3c无需修改:

1b02bac8-a7a3-11ef-93f3-92fbcf53809c.png

上述内容设置好之后,选择保存。分别执行下述2个命令:

1b10d932-a7a3-11ef-93f3-92fbcf53809c.png

打开生成的Keil工程并编译程序:

1b14de92-a7a3-11ef-93f3-92fbcf53809c.png

I2C测试

下载固件到FRDM-MCXA153开发板并重置系统

在串口终端中,应该看到类似以下的输出:

1b1c8598-a7a3-11ef-93f3-92fbcf53809c.png

1. 使用 list device命令查看已注册的设备:

1b2072a2-a7a3-11ef-93f3-92fbcf53809c.png

2. 运行SSD1306 OLED演示程序:

1b4f8ae2-a7a3-11ef-93f3-92fbcf53809c.png

如果一切正常,在连接的OLED显示屏上可以看到RT-Thread的logo:

1b539f92-a7a3-11ef-93f3-92fbcf53809c.png

I2C驱动实现细节 以下是 drv_i2c.c 文件的关键部分: 1b84b898-a7a3-11ef-93f3-92fbcf53809c.png

1b88fe6c-a7a3-11ef-93f3-92fbcf53809c.png

1b91f062-a7a3-11ef-93f3-92fbcf53809c.png

1b98b6e0-a7a3-11ef-93f3-92fbcf53809c.png

1bac76b2-a7a3-11ef-93f3-92fbcf53809c.png

这个驱动实现了I2C主机传输功能,支持读写操作,并使用了NXP SDK提供的LPI2C驱动。

结论

通过以上步骤,我们成功在RT-Thread MCXA153上实现了I2C驱动,并验证了其功能。这为进一步开发基于I2C的应用(如OLED显示)奠定了基础。在实际应用中,可根据需要来调整I2C的配置参数,如波特率、地址等,以适应不同的I2C设备。

希望这个指南能够帮助您在RT-Thread MCXA153上成功实现I2C应用!

参考资料 1. RT-Thread文档: https://www.rt-thread.org/document/site/ 2. NXP MCXA153参考手册 3. RT-Thread I2C设备驱动文档

通过近几期的深度介绍,我们一同领略了MCXA153 RTT的强大功能与广泛应用潜力!

MCXA153 RTT技术盛宴来袭,精彩不容错过!

MCXA153 RTT技术盛宴-探索GPIO的无限可能

深度探索恩智浦FRDM-MCXA153上的RT-Thread实践指南-玩转ADC

快跟上!恩智浦FRDM-MCXA153 RT-Thread实践指南4_FLASH

恩智浦FRDM-MCXA153 RT-Thread实践指南5-SPI

相信您已对如何在RT-Thread MCXA153上开发应用有了更深入的理解,如有任何疑问或建议,都欢迎随时在RT-Thread社区论坛上留言。 让我们共同推动技术进步,共创美好未来!

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信