ZHCABA8 September   2020 TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2为 TI TIVA C 安装 Edde Flex CAN Booster Pack
  5. 3下载并导入 CAN 主机示例
  6. 4用于中断且经过修改的 CAN.C
  7. 5示例工程
    1. 5.1 带有中断的内部环回 (simple_can_loopback)
    2. 5.2 简单 CAN 传输 (simple_can_tx)
    3. 5.3 简单 CAN 接收 (simple_can_rx)
    4. 5.4 CAN UART 桥接器 (can_uart_bridge)
  8. 6CAN 引导加载程序
    1. 6.1 引导加载程序配置
    2. 6.2 引导演示程序 (boot_demo_can)
    3. 6.3 用于实现 LM Flash Programmer 支持的 UART 转 CAN 桥接器
      1. 6.3.1 CCS 演示程序 (uart_to_can)
      2. 6.3.2 SendCANID PC 程序
    4. 6.4 使用 CAN 引导加载程序

CAN UART 桥接器 (can_uart_bridge)

此示例将 UART 连接到 CAN 总线。它在 UART0 上接收数据,然后在 CAN0 上发送出去,在 CAN0 上接收数据,然后在 UART0 上发送出去。对于此示例,将 UART0 配置为 115200 波特(在 UartFunctions.h 中定义),将 CAN0 配置为 1M 波特(在 CanFunctions.h 中定义)。在这些速率下,UART 上连续接收的数据将消耗 17% 的 CAN 总线带宽。

UART 或 CAN 接收到的数据由中断例程处理。接收到的数据被放入其各自的循环缓冲区。两个缓冲区都是使用 256 字节的大小定义的(在 main.h 中定义)。当 UART 接收到连续数据时,UART 中断例程在接收到四个字节(FIFO 填满一半)后触发。然后收集数据,直到接收到八个字节,然后再放入循环缓冲区。通过在 CAN 数据包中支持多达 8 个字节,最大限度地提升了 CAN 传输效率。当 UART 接收终止或暂停时,会产生接收超时 (RT) 中断。在这种情况下,UART 接收 FIFO 中的所有字节都被传输到循环缓冲区,并发送一个小于 8 个字节的 CAN 帧。

CAN 传输的消息和 CAN 接收的消息的仲裁 ID 相同,均为 0x101(在 CanFunctions.h 中定义)。这可以让运行同一软件的两个器件通过 CAN 网络将数据从一个串行端口传输到另一个串行端口。网络上有两个以上的器件运行同一软件,一个串行端口接收到的数据通过 CAN 网络传输,然后输出至所有其他器件的串行端口。

此示例使用以下中断处理程序。若要在自有应用中使用此示例,用户必须将这些中断处理程序添加到向量表中。

  • CAN0IntHandler - CAN 0 中断处理程序
  • UART0IntHandler - UART 0 中断处理程序