MCXN947 上的双核 I2C 通信
该存储库包含用于 MCXN947 core0 和 core1 的两个 MCUXpressoIDE 项目。
Core0 初始化 LPI2C3 作为 I2C Master,并根据配置的 CTIMER 触发 I2C 读写操作。Core1 初始化 LPI2C7 作为 I2C Slave,并根据接收到的数据读写 SRAM。
主板:FRDM-MCXN947
类别:工业
外设:I2C、定时器、GPIO
工具链:MCUXpresso IDE
目录
1.软件
- FRDM-MCXN947 SDK 25.3.00
- MCUXpressoIDE v24.12.00或更高版本
2.硬件
- FRDM-MCXN947
- 一根 Type-C USB 线缆
3. 设置
此演示基于 MCUXpressoIDE v24.12.00 和 FRDM-MCXN947 SDK 25.3.00,因此您需要下载 MCUXpressoIDE v24.12.00 或更高版本以及 FRDM-MCXN947 SDK 25.3.00 或更高版本,并将 SDK 安装到 MCUXpressoIDE。
3.1 步骤 1
像这样将 LPI2C3 和 LPI2C7 连接到板上。
3.2 步骤 2
打开 MCUXpressoIDE 并按照以下步骤导入项目。
选择“导入项目...”,然后选择“将现有项目导入工作区”。在“根目录”中选择克隆此项目的位置。应该有两个项目“MASTER”和“M33SLAVE”。
对于项目构建,请先构建M33SLAVE项目。
4.结果
重置电路板,MCXN947 的 Core0 将通过 CTIMER 触发的 LPI2C3 按照给定的参数进行读写。
请参阅中的宏定义dm_dual_core_i2c_MASTER/source/main.c。
```c
define DEMOTRANSFERPER_SECOND (20u) // How many times to transfer per second.
define DEMOTRANSFERBPS (100000u) // I2C transfer speed in bps.
define DEMOBUFFERSIZE (255u) // Size of the buffer to transfer.
define DEMOSLAVEADDRESS (0x7Eu) // I2C slave address, keep same as slave.
```
如果您进行更改DMEO_SLAVE_ADDRESS,请在 M33SLAVE 项目中保持不变。
构建和闪烁后,板上的红色 LED 将切换,表示触发了 I2C 传输。
连接逻辑分析仪并查看发生了什么。
5. 常见问题
6. 支持
项目元数据
来源:恩智浦appcodehub
793
