STM32
直播中

李俊

7年用户 1325经验值
私信 关注
[问答]

使用myir的开发板进行spi通信,emmc模式下使用spi1则无法接收到数据,为什么?

使用myir的开发板进行spi通信
问题:spi1和spi5在debug模式下都可以正常接收数据.
emmc模式下以固件形式加载则spi5可以正常通信,使用spi1则无法接收到数据。
之后屏蔽掉spi1的a7节点,开启(或不开启)m4_spi1的节点依然无法进行通信。
问题点:两个spi在debug模式下或者在a核下生成节点再去读写节点进行spi通信都可以正常通信。spi5无论a核下有无对应spi节点以及开启或不开启m4_spi5节点都可以正常通信。spi1无论a核下有无对应spi节点,以及开启或不开启m4_spi1节点都不能通信。(前提:有节点的情况下a核没有去执行读写操作)。

在关闭a7的spi1节点后,在emmc模式下将其对应的gpioz0-gpioz3节点导出并设置为输入中断成功(确认没有其他资源使用这些gpio)
m核和a核之间也可以正常进行通信。

回帖(1)

他在笑

2024-5-21 17:10:16
根据您提供的信息,我们可以分析以下几个可能的原因:

1. **SPI1配置问题**:在emmc模式下,SPI1可能没有正确配置。请检查SPI1的配置,包括时钟、CS(片选)、MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)等信号的配置。

2. **固件问题**:在emmc模式下,固件可能没有正确初始化SPI1。请检查固件中的SPI1初始化代码,确保其正确无误。

3. **中断冲突**:在emmc模式下,SPI1可能与其他设备共享中断资源,导致无法正常接收数据。请检查中断配置,确保SPI1的中断没有被其他设备占用。

4. **电源问题**:SPI1可能在emmc模式下存在电源问题,导致无法正常工作。请检查电源管理设置,确保SPI1的电源供应正常。

5. **硬件问题**:SPI1硬件可能存在问题,导致无法正常通信。请检查硬件连接,确保SPI1的硬件连接正确。

为了解决这个问题,您可以尝试以下步骤:

1. **检查SPI1配置**:确保SPI1的配置正确,包括时钟、CS、MISO、MOSI等信号的配置。

2. **检查固件初始化**:检查固件中的SPI1初始化代码,确保其正确无误。

3. **检查中断配置**:检查中断配置,确保SPI1的中断没有被其他设备占用。

4. **检查电源管理**:检查电源管理设置,确保SPI1的电源供应正常。

5. **检查硬件连接**:检查硬件连接,确保SPI1的硬件连接正确。

6. **尝试使用SPI5**:如果SPI1仍然无法正常通信,您可以尝试使用SPI5进行通信,因为您提到SPI5在emmc模式下可以正常通信。

7. **寻求技术支持**:如果问题仍然无法解决,您可以联系MYIR的技术支持,寻求专业帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分