This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28379D:两个 F28379X 控制卡之间用于 CAN 协议测试的互连问题

Guru**** 1641220 points
Other Parts Discussed in Thread: SN65HVD257EVM, TMS320F28379D, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/603818/ccs-tms320f28379d-issue-of-interconnections-between-two-f28379x-control-cards-for-can-protocol-testing

器件型号:TMS320F28379D
主题中讨论的其他器件:SN65HVD257EVMC2000WARE

工具/软件:Code Composer Studio

尊敬的所有人:

         我在 进行    CAN 协议测试时遇到两个 F28379X 控制卡之间的互连问题。 我已经  通过    CAN 接口点( 即  VH 和  VL 引脚)的 DB9连接器连接了两个 MCU 板。 我在两个 MCU 中都转储了"CAN 环回"的源代码。 那么、有人能告诉我检查输出以测试  CAN 通信的过程吗?

    提前感谢。



Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

             如果您尝试通过 CAN 总线通过 DB9连接器在2个 MCU 板之间建立通信、则 CAN 回路代码将不起作用。  CAN 回路仅用于调试测试、您可以在该测试中监视或观察 CAN_TX 引脚上传输的数据、这些数据在内部反馈到一个 MCU 板中 CAN 模块上的 RX 端口。  

             为了使2个 MCU 板进行通信、您需要将 MCU 板的 CAN_TX 和 CAN_RX 引脚上的每个 CAN 连接到收发器(例如 SN65HVD234D)。  收发器将通过 CANH 和 CANL 引脚将 CAN_TX 和 CAN_RX 信号转换为差分信号。  CANH 和 CANL 引脚与 GND 一起连接到 DB9连接器。  CANH 和 CANL 线是 CAN 总线的定义。  然后、您需要 一个具有2 个节点(其中1 个节点是1个 MCU 板+ A CAN 收发 器)的 CAN 网络、这些节点通过 CAN 总线进行链接。  一旦建立了必要的连接、就可以使用来自 CAN 外部传输的示例代码。  您可以将一个 MCU 板配置为传输数据、而另一个 MCU 板将接收数据。

             希望这能让您快速入门。  如果您有其他问题、请告诉我。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sumanta、
    您不能简单地连接 CAN_TX 和 CAN_RX 并进行 CAN 通信。 您需要使用 CAN 收发器将 CAN_TX 和 CAN_RX (MCU 侧的 CAN 信号)转换为 CAN_H 和 CAN_L、以形成 CAN 总线。 由于您需要两个 CAN 收发器在两个 MCU 之间进行通信、因此我将使用 SN65HVD257EVM 板、该板具有两个收发器、可随时使用。

    祝您好运!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、

    我已将单个收发器 IC (SN65HVD251D)连接到2个基于 DSP 微控制器(TMS320F28379D)的 MCU 板、并通过 DB9连接器创建 CAN 总线。 目前、我已将 CAN_EXTERNAL_Transmit 的源代码转储到1个 MCU 中、并尝试查看 sTXRegister 中存储器地址的增量。 是否有人建议如何使用单个 MCU 检查 sRXRegister 中的输出、因为我的第二个 MCU 目前发生故障。

    此致

    Sumanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

    好的、在这种情况下、如果您只想查看发送和接收数据及其增量、那么最好使用 CAN 环回代码。  您实际上不需要将 MCU 连接到 CAN 收发器。

    在 C2000Ware 中使用 CAN 环回代码时、请在 for (;)循环内设置断点、然后在 CCS 的 Variables 窗口或 Expressions 窗口中、您可以监控/添加 sTXCANMessage 和 sRXCANMessage。  每次您按下"Play"按钮时、代码都会在断点处暂停、然后在"Variables"或"Expressions"窗口中可以看到 sTXCANMessage 和 sRXCANMessage 的值。

    请告诉我、这是否对您无效。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、在我的 MCU 板中、收发器 IC 已连接。 那么、我能否使用 CAN 环回代码将收发器的 VH 和 VL 输出端子相互连接、以查看 sTXCANMessage 和 sRXCANMessage 变量中的输出。 您还能建议 MCU 板的配置、以便建立主/从通信。

    此致

    Sumanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sumanta、

    CAN 是一个多主器件通信网络。 任何连接到 CAN 总线的节点都可以随时发送、其中节点的发送优先级取决于仲裁 ID。 如果有多个节点正在传输、ID 较低的节点将首先传输其数据。 其余节点可以处于接收模式、并且可以接受任何节点在 CAN 总线中传输的任何数据。 接收节点可以忽略或接受发送的消息、具体取决于是否实现了消息过滤。 有关消息过滤主题的更多信息、请参阅技术参考手册 www.ti.com/.../spruhm8f 中的第22.12节"消息处理"

    此致、
    Joseph
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、

    我已经尝试使用"CAN_External_Transmit "和"CAN_Loopback "的源代码通过 DB9连接器创建 CAN 总线、但获得的输出如下:

    1) 1)在 CAN RX 端子上、我获得3.3伏、而

    2) 2)在 CAN TX 端子上、我获得0伏电压。

    我想检查在 CAN 端子上应用脉动输入时、是否在 CAN 总线端子上获得脉动输出。 是否可以使用闪烁的 LED 程序。

    请建议在单个和两个 MCU 板之间的 CAN 通信中进行正确测试。


    此致
    Sumanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

    监控 CAN 传输的最佳方法是通过 MCU 上的 CAN_RX 线路。  您 应该连接一个示波器并监控 CAN 活动(发送和接收)。  电压表或 LED 将无法工作、因为信号转换太快、无法进行可视监控。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、

    在 CAN_loopback 源代码中、在 CAN 总线中 DB9连接器的 RX 和 TX 端子处、我分别获得3.3伏和1.5伏。 因此、请建议如何在 CAN 收发器输入端子上应用脉动(方波)输入时检查脉动输出。

    提前感谢。


    此致
    Sumanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sumanta、

    您可以使用万用表测试 CAN 总线、因为频率太高、无法检测到。 您需要使用示波器来查看信号。 以下是您在 MCU 端应该了解的内容(CAN_TX 和 CAN_RX):

    如果您在 CAN 总线上监控 CAN_H 和 CAN_L、则应该会获得差分信号。

    注意:不要忘记在 CAN 总线的每一端使用120欧姆端接电阻器。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kash、

    感谢您在物理 CAN_RX 和 TX 引脚上布置示波器捕获。

    Sumanta、

    当您执行 CAN 环回代码时、它是连续运行还是在 ESTOP0指令中停止? 如果测试失败并停止、传输将停止、您无法观察物理引脚中的任何内容。 回送示例以500Kbps 的速率运行、因此将示波器的水平分辨率设置为~100us/div 应允许您捕获正在传输的某些消息。

    此致、
    Joseph
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

             我已经完成了 CAN_Loopback 测试的编程、在该测试中我检查了以下波形:

    1) 1)在 RX 和 TX 端子上相对于 GND 获得零电压。

    2) 2) CAN 总线电压以 GND 为基准、其中 VH = 4.8伏、VL = 1.25伏、这些都是直流电压。

    我在源代码中将输入数据指定为[ucTXMsgData[4]={'a'、'b'、'c'、'd'}和 ucRXMsgData[4]={'0'、'0'、'0'、'0'}。 因此、请建议对源代码或测试设置进行必要的修改、以便获得[@Kash]发布的波形。

    提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

           根据您的描述、您似乎限制了4个值的传输、这4个值是十六进制的 ucTCMsgData[0]='A' ASCII 或0x61、ucTCMsgData[1]='b'或0x62、ucTCMsgData[2]='c'或0x63和 ucTCMsgData[3]='d'或0x64。  不确定在循环中将 ucRXMsgData 的值设置为{'0'、'0'、'0'、'0'}[通过此处的'0'表示十六进制的0x30 ]、但如果在调用 CANMessageGet 后设置 ucRXMsgData[4]={'0'、'0'、'0'、'0'、'0'}}、 然后循环将停止、因为根据您所执行的初始化、ucTXMsgData 永远不会等于 ucRXMsgData: [ucTXMsgData[4]={'a'、'b'、'c'、'd'}和 RXucMsgData[4]={'0'、'0'、'0'、'0'}。  这可能是您的案例中发生的情况。  传输可能会停止、因为传输的数据不等于接收的数据。

         我建议按原样运行 CAN 回送代码、无需任何修改。  在将 ucTXMsgData[0]优先于值0x01、ASCII SOH 和值0x02、ASCII STX 的 ucTXMsgData[1]时、测试将无限循环。 然后、每次可以完成发送/接收事务时、这些值都会递增1、一旦发送数据达到0xFF (这是 ASCII 的最大值)、值就会重新返回到0。  CAN 环回测试、如果运行正确、将发送/接收0至255范围内的所有可能的 ASCII 代码、并无限期重复、直到程序停止。  这将包含 所有 ASCII 字符、包括符号、数字以及字母中大写和小写字母。  这将是监控 CAN_TX 和 RX 引脚中信号的最佳机会。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

             我已经使用 CAN_Loopback 源代码测试了我的 MCU、但我无法在 TX 和 RX 端子上获取波形。 我检查了 CAN 端子与隔离器 IC (ADUM7643)之间的导通性。 不确定问题的实际发生位置。 如果有人遇到类似的问题、请提出建议。

    提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

       我已经使用 CAN_Loopback 源代码测试了2个单独的 MCU、在这些源代码中、我通过示波器观察了 CAN 总线上的差分信号。 目前、我正在修改一个 MCU 的 CAN_External 发送源代码以用作发送器、另一个 MCU 用作接收器。 发送器 MCU 能够发送消息(以脉动信号的形式)、但接收器 MCU 无法接收相同的消息(在 CAN 总线输出端观察到的情况)。 请建议如何修改源代码、以便 MCU 能够接收信号。

       提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

    很高兴知道您现在可以在 CAN 总线上看到活动。  我想首先详细了解您的设置、特别是您如何连接这2个 MCU。  您是否对两个 MCU 使用了 Launchpad 中相同的 CAN 收发器?  如果是、请注意 CAN_RX 和 CAN_TX 引脚连接到特定的 GPIO 引脚、CAN 外部发送代码示例使用一组不同的用于 CAN_RX 和 CAN_TX 的 GPIO 通道。  请确保已相应匹配 GPIO 通道分配 、以匹配 CAN 引脚功能。  如果您使用了不同的收发器、请注意 F28379X CAN 引脚为3.3V 类型的 I/O、因此您还需要使用具有3.3V I/O 的收发器  为收发器使用不同的 I/O 类型通常是一个常见错误、误导他人不建立 CAN 通信。

    至于您的代码、如果您使用了 CAN 外部传输示例、则可以对发送器执行以下步骤(建议仅对 RX 和 TX 使用 CANA 模块):

        相应地设置 CAN_TX/RX 引脚

        初始化 CAN - CANInit();

        选择时钟源- CANClkSourceSelect();

        设置比特率- CANBIT RateSet();// TX 和 RX 应该匹配

        初始化发送报文(如 sTXCANMessage 结构体的外部发送示例所示-此处需要定义报文长度)

        启用 CAN - CANEnable();

        根据要传输的数据长度修改 txMsgData 数组,以设置要传输的数据

        将数据发送到 CAN 引脚- CANMessageSet();

    您可以通过在上述伪代码中的最后两行循环来传输多个帧、但需要在 CANMessageSet 调用后添加一些延迟、以确保数据将被传输- 使用 与示例代码中相同的延迟函数。

    对于接收器 MCU、 您希望代码如下所示:

     

        相应地设置 CAN_TX/RX 引脚

        初始化 CAN - CANInit();

        选择时钟源- CANClkSourceSelect();

        设置比特率- CANBIT RateSet();// TX 和 RX 应该匹配

        初始化 接收报文结构 sRXCANMessage (与示例中相同)

         启用 CAN - CANEnable();

         从 CAN 总线接收数据- CANMessageGet ();

         接收到的消息将在 rxMsgData 数组中可用、并且您还可以在 CANL 和 CANH 线路上观察差分信号、或在物理引脚 CAN_RX 和 GND 或 CAN_TX 和 GND 上监控它们。

    希望这对您有所帮助。

    此致、

    Joseph

        

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

             感谢您的回答。 我已经连接了2个 MCU、并根据您在上一篇文章中提到的更改在发送器和接收器 MCU 中构建代码。 我已将数据分配给 ucTXMsg 和 ucRXMSG 变量、如下所示:

    "unsigned char ucTXMsgData[4]={'a'、'b'、'c'、'd'}、ucRXMsgData[4]={'0'、'0'、'0'、'0'};"

    在 CAN 总线(脉动方波)和 CCS 窗口中的数据处观察到波形。 但在对接收器 MCU RX 端子进行编程时、中的相同波形不可见、并且在 CCS 窗口中 RX 寄存器中也没有数据。 请提出建议。

           提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

              我已经通过将 CAN 环回源代码调试为第一个 MCU 中的发送器和第二个 MCU 中的接收器来检查它。 我能够观察数据

    接收器 MCU CAN 接收器端子上的示波器脉冲。 但是、正如我在上述帖子中提到的、如果传输数据定义为:

    [ucTXMsgData[4]={'a'、'b'、'c'、'd'}、ucRXMsgData[4]={'0'、'0'、'0'、'0'、'0'}]、然后我在'd'中得到 ucRXMsgData[4]={'h'、'0'、'c'、'd'、而不是'd'、'd'

    窗口。

    如果有人遇到类似问题、请提出建议。

        提前感谢。

    此致

    Sumanta

     

       

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

    调试上述 CAN 测试时:

     1) 您是否监控了 CAN_ES (错误和状态寄存器)?  是否标记了任何错误?

     2) 您用于将 CAN_TX/RX 引脚连接到 CAN 总线的收发器的器件型号是多少?  只是希望确保收发器电平与28379D 电平兼容。

     3)  两个 MCU 上使用的时钟源是什么-板载晶体、振荡器 、或者您是否独立于外部源提供时钟?

    根据您的描述、当接收到可能会提示 计时问题的数据时、似乎有丢失的位/移位的数据。  这就是提出上述问题的原因。

    谢谢、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

             如需了解相关信息、请访问:

    1) 1)目前、我正在运行 CAN_Loopback 源代码、该源代码不包含 CAN_ES 变量、以显示您指出的错误标志信号。   

      但在 CAN_External 传输源代码中分配了相同的变量、而我当前未对其进行调试。

    2)收发器[SN65HVD251D]正与28379D 控制器配合使用。

    3) 3)除了控制器的内部时钟外、没有使用外部时钟。

     

    请说明为什么发送器变量中分配的相同数据未在接收器变量中传输

          提前感谢。

     

    此致

    Sumanta

     

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumanta、

    感谢您的回答。  您在项目#2中的答案是您在接收器侧未看到完整数据的原因。  您使用的收发器是5V I/O 电平器件(SN65HVD251D)。  28377D I/O 以3.3V 电平运行、因此它们不兼容。  我建议您使用3.3V 收发器(SN65HV23xx 系列)。

    希望这将最终解决您的问题。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

             我没有通知您有关隔离器 IC (I/P - 3.3V 和 O/P - 5V)的信息、该 IC 位于控制器(28379D)和收发器 IC 之间、因此控制器的 TX 和 RX 端子都保持在3.3V、而 CAN 总线 O/P 保持在5V。 希望它能消除您对使用(SN65HVD251D)收发器与(28379D)不兼容的困惑。 请建议是否需要对硬件电路进行任何其他更改或对源代码进行修改以解决该问题。

        提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、

    正如我在上一篇文章中提到的、控制器和收发器的电压电平符合要求。 我甚至使用8个字节的数据进行了如下检查:

    [unsigned char ucTXMsgData[4]={'a'、'b'、'c'、'd'、'e'、'f'、'g'}、ucRXMsgData[4]={'0'、'0'、'0'、'0'、'0'、'0'、'0'、'0'}、'0'、MCU 数据发送器中的8个字节;然后接收器 MCU 中的8个字节

    [无符号字符 ucTXMsgData[8]={'0'、'0'、'0'、'0'、'0'、'0'、'0'}、ucRXMsgData[8]=['.'、'.'、'c'、'd'、'e'、'f'、'g'、'h'、'h'。] 如果有人遇到类似问题、请提出建议。


    此致
    Sumanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

         是否有人可以就我之前的帖子的查询提出建议。 我将承担很大的义务。

         提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sumanta、

               首先、也是最重要的、请发布您所使用的电路的原理图。 您不必布置整个电路、只需布置 CAN 部分就足够了。 我想看到电路从发送节点的 CANTX 和 CANRX 引脚开始、经过隔离器 IC、收发器、最后是接收节点的 CANTX 和 CANRX 引脚。 清楚地指示端接电阻器。 请同时发布一张或两张您的设置照片。

     

    CAN 通信是"二进制"。 它可以工作、也可以不工作。 如果存在任何损坏(或移位位)、则会触发错误帧并丢弃帧。 将再次尝试数据传输。

     

    此主题上的帖子太多了。 让我们使用此策略来解决您的问题:

     

    1. 确保没有硬件问题。
    2. 确保您能够"按原样"运行 c2000ware 示例、或者进行尽可能少的修改。
    3. 检查修改后的代码为何不起作用。

     

     

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haresh、

               您可以在上面找到近似的 CAN 电路。 问题在于、正如我在上一篇文章中详细定义的、将 IST 两个数据字节内容显示为通过发送器(TX)端口发送。 请提出您的建议。

               提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sumanta、
    我假设您使用的是自己的硬件、而不是像 LaunchPad 这样的"标准"平台。 是这样吗?

    一次只传输8个字节(即不在循环中传输递增模式)

    请使用 CAN 总线分析仪捕获在总线上传输的数据。 请告诉我您看到的内容。

    同时捕获发送器和接收器的 CANTX/CANRX 引脚上的波形并将其发送到两个引脚上。

    如果没有硬件问题、调试应该相当简单
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haresh、

              我将定制的 MCU 卡与 F28379控制器搭配使用。 现在、我要发送4个字节的数据、其中3个字节得到了适当的传输。 请查找控制器 TX 引脚的波形。 [PK Magnitude - 3.3伏]。 我已经检查了控制器和 CAN 总线之间的导通性、这是正确的。 请提出建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sumanta、

               您附加的图像没有太多的表达。 如果正确接收4个字节中的3个字节、您可以很好地排除任何硬件问题并将精力集中在代码上。 您需要准确地确定从发送器传输的内容。 您需要一个具有 CAN 总线触发/解码功能的示波器或一个基于 USB 的 CAN 总线分析仪。 如果没有这些信息、就很难继续调试。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haresh、

              现在、我们没有任何具有 CAN 总线触发/解码功能或基于 USB 的 CAN 总线分析仪的示波器 、但我们已经开始 购买它。 那么、您能否建议如何测试 CAN 总线输出以确保传输消息的内容、或者是否可以相应地修改源代码。

        提前感谢。

    此致

    Sumanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

         我已经检查了 MCU 板中 CAN_loopback 的源代码调试、并已将输入数据定义如下:

    1) unsigned char ucTXMsgData [4]={'a'、'b'、'c'、'd'}、ucRXMsgData [4]={'0'、'0'、'0'、'0'};

    获得的输出如下面的屏幕截图所示。 因此、ist 字节输出会重复变化、而其余3字节输出与输入相同。

         如果有人遇到类似问题、请提出建议。