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.

[参考译文] MSPM0G3105:CC Studio 在构建 CAN RX 代码时挂起。

Guru**** 2663045 points

Other Parts Discussed in Thread: MSPM0G3105

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1581877/mspm0g3105-cc-studio-hangs-while-building-can-rx-code

器件型号:MSPM0G3105


我正在开发一个需要使用 MSPM0G3105 CAN 接口的定制 PCB。 我使用 TCAN1057 作为收发器。 基于以下因素、我认为硬件是正确的:

  • 当使用从 SDK 2.07“MCAN 单消息 TX“代码片段构建的代码进行传输时、总线会显示数据。  
  • 使用“ Seeed CAN 分析仪“传输到 CAN 总线时、收发器的 RX 引脚会按预期显示 0V 至 3.3V 之间的信号。

为完整起见、下面是我的原理图:

Transceiver.pngMicrocontroller.png

请注意、焊接跳线已正确焊接、TX 信号连接到引脚 16、RX 连接到引脚 17。

 

但这是我的问题。 我尝试创建一段非常简单的代码来捕获总线上的 RX 消息:

该错误是由第 11 行的代码引起的。 省略这一行时、代码构建 (CTRL+B) 完全正常(尽管每个 rxFS 成员的警告可能未初始化):

但是、 当我取消注释“DL_MCAN_getRxFIFOStatus ();“代码行并尝试构建工程时、会弹出“Building"进度“进度条、然后得到零输出。 我最终需要点击“取消“、因为它从不会构建:

如果有人有建议或指导来帮助我,这将是难以置信的有帮助。 谢谢!

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

    您好、

    听起来示例代码已编译、对吧?

    我会尝试重新启动 CCS;这通常会清除这样的行为。

    马修

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

    您好 Matthew、

    这是我尝试的第一件事之一,不幸的是没有成功(也没有生成示例代码)。 我尝试清除所有缓存的文件和构建的文件。 我重新启动了 PC。 当这些都不起作用时、我重新安装了我的软件。 仍然不起作用。  

    我创建了一个已构建的空工程、并逐行添加了各个行、以查看它们的故障转移位置。 罪魁祸首是以下行:

    DL_MCAN_getRxFIFOStatus (MCAN0_INST、rxFS);


    出于某种原因,当我注释掉这一行 — 一切都是好的。 当我保留它时、代码不会构建。 我尝试了所有不同的编译器优化设置均无效。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、John:

    我想再次检查:你没有得到任何错误(甚至在示例),你遇到了一个挂起?

    我正在内部咨询我们的软件团队、因此我可以尽快答复您。

    马修

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

    您好、

    函数需要一个指针、而不是实例本身。

    DL_MCAN_getRxFIFOStatus (MCAN0_INST、&rxFS)

    马修