0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

恩智浦MCU加油站 来源: 恩智浦MCU加油站 2024-11-21 09:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

工程创建 目前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社区论坛上留言。 让我们共同推动技术进步,共创美好未来!

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

    关注

    14

    文章

    6051

    浏览量

    133989
  • IIC
    IIC
    +关注

    关注

    11

    文章

    308

    浏览量

    40362
  • I2C总线
    +关注

    关注

    8

    文章

    411

    浏览量

    62988
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44250
  • FRDM
    +关注

    关注

    1

    文章

    19

    浏览量

    4659

原文标题:快来查收!FRDM-MCXA153 RT-Thread开发实战(六):I2C总线开发与应用

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【直播预告】 玩转智能控制:NXP FRDM-MCXA346 新品直播来了!| 问学直播

    全新一代高性能控制器NXPMCXA系列即将亮相!为了让开发者第一时间了解MCXA系列的技术优势、开发体验与实战应用,RT-Thread联合N
    的头像 发表于 11-17 18:24 230次阅读
    【直播预告】 玩转智能控制:NXP <b class='flag-5'>FRDM-MCXA</b>346 新品直播来了!| 问学直播

    NXP新品FRDM-MCXA346 RT-Thread 评测活动开放,下周四新品直播预约!| 社区活动

    应用开发RT-Thread社区已率先完成对NXPFRDM-MCXA346的系统支持,并携手半导体联合发起
    的头像 发表于 11-14 15:59 1311次阅读
    NXP新品<b class='flag-5'>FRDM-MCXA</b>346 <b class='flag-5'>RT-Thread</b> 评测活动开放,下周四新品直播预约!| 社区活动

    【RA-Eco-RA6M4开发板评测】I2C使用

    RA6M4有2路硬件I2C,对于应用而言,软件和硬件都是一样的。 1 RT-ThreadI2C简介 I2C(Inter Integra
    发表于 11-09 21:58

    AT32F403A 移植RT-thread时SPI DMA和I2C DMA 冲突怎么解决?

    开发板:AT-START-F403A V1.1 我使用官方标准版RT-Thread BSP里的工程时,通过ENV工具启用了SPI和I2C ,但是启用了SPI RX/TX DMA之后I2C
    发表于 10-10 06:14

    【用户答谢】RT-Thread携手,邀您共筑开源生态,赢专属好礼!| 社区活动

    亲爱的嵌入式开发者伙伴们:在RT-Thread携手同行的数载春秋里,双方始终致力于为开发者打造更优质的嵌入式
    的头像 发表于 08-22 17:07 741次阅读
    【用户答谢】<b class='flag-5'>RT-Thread</b>携手<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>,邀您共筑开源生态,赢专属好礼!| 社区活动

    MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

    本篇还是以移植RT-Thread Nano到MCUXpresso IDE为主,移植的代码可以在nxpic.org.cn论坛搜索到。
    的头像 发表于 08-21 09:49 6218次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>MCU教程 基于MCUXpresso和<b class='flag-5'>FRDM-MCXA</b>346的<b class='flag-5'>RT-Thread</b> Nano移植

    【直播预告】RT-Thread携手NXP硬核实战,解锁MCX微控制器的AI落地秘籍 | 问学直播

    当国产自主RTOS遇上全球半导体巨头——RT-Thread携手带来年度重磅技术直播!7月22日20:00,我们有幸请来3位顶尖专家深度解析
    的头像 发表于 07-20 10:05 882次阅读
    【直播预告】<b class='flag-5'>RT-Thread</b>携手NXP硬核<b class='flag-5'>实战</b>,解锁MCX微控制器的AI落地秘籍 | 问学直播

    【RA-Eco-RA4M2开发板评测】RT-Thread上驱动I2C温湿度传感器

    Elapsed:00:00:43 五、运行 Reset开发板后,熟悉的RT-Thread打印。 看看设备,I2C已经OK。 msh />list device devicetyperef
    发表于 05-08 22:42

    基于RT-ThreadI2C(软件) 实践 | 技术集结

    ,我们可以通过菜单配置工具menuconfig快速设置软件I2C的引脚,并借助其内部已实现的驱动程序,方便快捷地完成调用与开发。(二)FRDM-MCXA153FR
    的头像 发表于 05-06 18:44 750次阅读
    基于<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>I2C</b>(软件) 实践 | 技术集结

    【本周-北京】AIoT动手实践 | 知行工坊

    RT-Thread联合半导体(NXP),以及鼎好DH3,共同推动AI浪潮下的工业与物联网创新应用。本次培训聚焦“MCXA系列MCU”与“边缘AI
    的头像 发表于 05-06 18:44 403次阅读
    【本周<b class='flag-5'>六</b>-北京】AIoT动手实践 | 知行工坊

    FRDM-MCXA156开发实践指南》上线啦

    RT-Thread率先支持NXPFRDM-MCXA156,并联合半导体推出了NXPFRDM-MCXA156
    的头像 发表于 04-06 10:51 2620次阅读
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXA</b>156<b class='flag-5'>开发</b>实践指南》上线啦

    推出FRDM i.MX 93开发

    备受嵌入式开发者青睐的FRDM开发平台,迎来了一位新成员——FRDM
    的头像 发表于 02-21 14:22 2870次阅读

    免费申请 | FRDM-MCXA156评测活动发布!

    RT-Thread现已支持官方推出的FRDM-MCXA156开发板并提供BSP!为了让大家更好地体验
    的头像 发表于 02-10 18:45 835次阅读
    免费申请 | <b class='flag-5'>FRDM-MCXA</b>156评测活动发布!

    I2C总线通信原理 如何设计I2C总线电路

    I2C总线通信原理 I2C(Inter-Integrated Circuit)总线是一种用于集成电路之间进行通信的串行通信协议。它最早由飞利浦公司(现被
    的头像 发表于 01-31 15:01 1874次阅读

    携手RT-Thread全力赋能智能工业与物联网新时代

    本地活跃的嵌入式开源社区积极合作,全力赋能。在日前举办的RT-Thread开发者大会(简称RDC)上,MCU系统与应用工程师牛晓东先生受邀发表了题为《NXP微控制器结合
    的头像 发表于 01-10 11:55 1481次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>携手<b class='flag-5'>RT-Thread</b>全力赋能智能工业与物联网新时代