【使用C++开发MCU】01-IIC实例之接口概述(基于NXP S32K1 MCU)

本文介绍了如何使用C++在NXP S32K1系列MCU上开发IIC驱动,通过S32SDK实现高层次的接口,包括初始化、去初始化、配置从机和访问数据。详细讲解了读写接口的实现,强调了在应用层封装驱动的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章主题

S32K1系列MCU大多只有一个I2C,本文主要基于S32SDK实现高层次的IIC Driver,向下访问硬件,向上供被调用,本文主要阐述C++案例,所描叙的接口是高度抽象的,隐藏了实现的细节(比如DMA还是INT方式访问、主机还是从机模式等),这些细节也可以由C++实现,本文借助S32SDK来提供这些细节。

主要接口:

1、 初始化;
2、 去初始化;
3、 配置从机(内部接口);
4、 访问指定从机指定地址的指定数据。

实现-初始化:

使用PE实现PIN、IIC等配置,在初始化接口中调用LPI2C_DRV_MasterInit实现初始化IIC。

实现-初始化:

使用SDK提供的LPI2C_DRV_MasterDeinit实现去初始化。

实现-配置从机:

根据从机信息配置从机地址与波特率。
LPI2C_DRV_MasterSetBaudRate
LPI2C_DRV_MasterSetSlaveAddr
这是一个内部接口,在每次访问从机中被调用。

实现-访问指定从机指定地址的指定数据:

使用Blocking较为简单,可根据具体场景选择S32SDK提供的阻塞与非阻塞接口。

读接口:

1、配置从机;
2、写入从机读取的地址LPI2C_DRV_MasterSendDataBlo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值