ZHCAF63 June   2024 MSPM0G3507

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 连接 CAN 和 I2C 的桥接器
  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 I2C 接收和传输(透明传输)
    6. 3.6 I2C 接收和传输(协议传输)
    7. 3.7 CAN 接收和传输
    8. 3.8 应用集成
  7. 4硬件
  8. 5应用程序方面
    1. 5.1 结构灵活
    2. 5.2 I2C 的可选配置
    3. 5.3 可选的 CAN 配置
    4. 5.4 CAN 总线多节点通信示例
  9. 6总结
  10. 7参考资料

FIFO 的结构

Custom_FIFO 是在 user_define.h 中定义的结构。图 2-5 中也显示了 CUSTOM_FIFO。

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

gCan2I2c_FIFOgI2c2Can_FIFOmain.c 中定义。请注意 SRAM 的使用量,它与 C2I_FIFO_SIZEItoC_FIFO_SIZE 以及 Custom_Element 的大小有关。

/* Variables for ItoC_FIFO
 * ItoC_FIFO is used to temporarily store message from I2C to CAN */
Custom_Element gItoC_FIFO[ItoC_FIFO_SIZE];
Custom_FIFO gI2c2Can_FIFO = {0, 0, 0, gItoC_FIFO};

/* Variables for C2I_FIFO
 * C2I_FIFO is used to temporarily store message from CAN to I2C */
Custom_Element gC2I_FIFO[C2I_FIFO_SIZE];
Custom_FIFO gCan2I2c_FIFO = {0, 0, 0, gC2I_FIFO};