2149583_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2149583_zh-CN

2149583_zh-CN

s32k146 基于MBDT在同一条SPI总线配置多个SPI从设备,SIMULINK报错

自开发一个控制器,用的MCU为S32K146  三条SPI总线都挂了多个SPI从设备。同一条SPI设备,存在每个从设备的时钟极性,相位,位宽不一致。这种情形在SIMULINK中根据不同的SPI从设备进行配置。SPI Reconfig模块用于同一总线上连接多个配置不同的从设备(如波特率、时钟极性/相位不同)。这个SPI Reconfig模块如何使用,有没SPI动态配置的示例。

Re: s32k146 基于MBDT在同一条SPI总线配置多个SPI从设备,SIMULINK报错你好,Marius
使用 C 调用方法在 Simulink 中嵌入自定义 C 代码时,我们需要调用官方的 SPI deinit 函数和 SPI init 函数。但是,MATLAB 编译失败,提示找不到库函数,存在路径错误。如何正确设置路径?此外,既然还将使用 MBDT 软件包,那么这两个元器件如何在 Simulink 中共存和编译?
等待您的答复和帮助!
Re: s32k146 基于MBDT在同一条SPI总线配置多个SPI从设备,SIMULINK报错

你好@lsw

根据您的使用情况,我认为您不仅需要重新配置 PCS,还需要重新配置 SPI 配置传输的某些设置。

遗憾的是,S32K1 的 MBDT 并不是为此而设计的,也没有任何区块可以帮助您支持这样做。

不过,还有一种方法,即使用自定义代码插入,本文已讨论过这种方法: https://community.nxp.com/t5/NXP-Model-Based-Design-Tools/How-to-use-your-own-C-code-in-our-Toolbo...

你的情况比这更简单。

首先,您必须为 SPI 所需的第一个配置生成代码,并识别生成的代码序列,如下所示。

mariuslucianand_0-1756307015558.png

然后,你可以复制 lpspi_master_config_t 结构,并在其中填充所有连接到 SPI 总线的设备所需的设置。

每次要调整设置时,都需要先调用

LPSPI_DRV_MasterDeinit(uint32_t instance);

然后是带有所需参数的 Init 函数

LPSPI_DRV_MasterInit(0, &lpspiMasterState0, &spiConfig0);


希望这能帮到您,

Marius



Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 03:14 PM
Updated by: