ZHCAF59 March   2025 MSPM0G3507

 

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

FIFO 的结构

Custom_FIFO 结构在 user_define.h 中定义。这也显示在 图 2-5 中。

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

gCan2Uart_FIFO 和 gUart2Can_FIFO 在 main.c 中定义请注意 SRAM 的使用情况,该使用情况与 C2U_FIFO_SIZE、U2C_FIFO_SIZE 和 Custom_Element 的大小相关。

/* Variables for C2U_FIFO
 * C2U_FIFO is used to temporarily store message from CAN to UART */
Custom_Element gC2U_FIFO[C2U_FIFO_SIZE];
Custom_FIFO gCan2Uart_FIFO = {0, 0, 0, gC2U_FIFO};

/* Variables for U2C_FIFO
 * U2C_FIFO is used to temporarily store message from UART to CAN */
Custom_Element gU2C_FIFO[U2C_FIFO_SIZE];
Custom_FIFO gUart2Can_FIFO = {0, 0, 0, gU2C_FIFO};