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参考资料

UART 接收和传输(透明传输)

对于 UART 接收,在 bridge_uart.c 中定义了三个全局变量。

uint8_t gUartReceiveGroup[UART_RX_SIZE];
Custom_Element gUART_RX_Element;
uint16_t gGetUartRxMsg_Count;

下面介绍 UART 接收的过程

  1. 调用 getUartRxMsg_transparent() 以将消息存储到 gUartReceiveGroup 中。当发生超时或组已满时(数据高达 TRANSMIT_DATA_LENGTH 字节),完成消息接收
  2. 调用 processUartRxMsg_transparent() 以从 gUartReceiveGroup 中提取数据,并将数据存储到 gUART_RX_Element 中。
  3. gUART_RX_Element 放入 gUart2Can_FIFO

对于 UART 传输,在 bridge_uart.c 中定义了两个全局变量。

uint8_t gUartTransmitGroup[UART_TX_SIZE];
Custom_Element gUART_TX_Element;

下面介绍 UART 传输的过程。

  1. gCan2Uart_FIFO 接收 gUART_TX_Element
  2. 调用 processUartTxMsg_transparent() 以从 gUART_TX_Element 获取数据,并将其存储到 gUartTransmitGroup 中。
  3. 调用 sendUartTxMsg() 以通过 UART 传输 gUartTransmitGroup