ZHCAF60 February   2025 MSPM0G3507

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 在 CAN 与 SPI 之间建立桥接
  5. 2实施
    1. 2.1 原理
    2. 2.2 结构
  6. 3软件说明
    1. 3.1 软件功能
    2. 3.2 可配置参数
    3. 3.3 自定义元件的结构
    4. 3.4 FIFO 的结构
    5. 3.5 SPI 接收和传输(透明传输)
    6. 3.6 SPI 接收和传输(协议传输)
    7. 3.7 CAN 接收和传输
    8. 3.8 应用集成
  7. 4硬件
  8. 5应用程序方面
    1. 5.1 结构灵活
    2. 5.2 可选的 SPI 配置
    3. 5.3 可选的 CAN 配置
    4. 5.4 CAN 总线多节点通信示例
  9. 6总结
  10. 7参考资料

FIFO 的结构

Custom_FIFO 结构在 user_define.h 中定义。图 2-6 中也展示了定义。

typedef struct {
    uint16_t fifo_in;
    uint16_t fifo_out;
    uint16_t fifo_count;
    Custom_Element *fifo_pointer;
} Custom_FIFO;

gCan2Spi_FIFOgSpi2Can_FIFOmain.c 中定义。请注意 SRAM 的用法,它与 C2S_FIFO_SIZES2C_FIFO_SIZE 以及 Custom_Element 的大小有关。

/* Variables for C2S_FIFO
 * C2S_FIFO is used to temporarily store message from CAN to SPI */
Custom_Element gC2S_FIFO[C2S_FIFO_SIZE];
Custom_FIFO gCan2Spi_FIFO = {0, 0, 0, gC2S_FIFO};

/* Variables for S2C_FIFO
 * S2C_FIFO is used to temporarily store message from SPI to CAN */
Custom_Element gS2C_FIFO[S2C_FIFO_SIZE];
Custom_FIFO gSpi2Can_FIFO = {0, 0, 0, gS2C_FIFO};