TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TM4C123GH6PM:需要 TivaWare 中的帮助

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/650045/tm4c123gh6pm-need-help-in-tivaware

器件型号:TM4C123GH6PM
主题中讨论的其他器件:TM4C123

大家好、  

我正在尝试在 TivaWare 中运行 CAN 示例、这是使用 CCS 的简单 TX 示例。  

我只是遇到了 ISR 不执行的问题。 我尝试 在启动代码中(静态)并使用 CANIntRegister (CAN0_BASE、CANIntHandler)动态地注册 CANIntHandler、但在这两种情况下、执行仍在 while (1)循环中。  

我还观察到 CAN_INT 寄存 器始终具有值0x00000000 、即使在执行 CANMessageSet()函数之后也是如此。  

如何解决此问题?  

此致、  

斯里特

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

    您是否应该使用(两者都使用)"CAN simple_tx.c 和 CAN simple_rx.c"并通过适当的 CAN xcvr 进行连接-以包含终端电阻器? 您是否连接了"两个不同的基于 CAN 的电路板-每个电路板都配备了 CAN 收发器和端接?"

    您对本论坛的搜索(通过此页面顶部的搜索框)将显示"许多"此类帖子、以及包含"必要和足够数据"的要求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您如何设置 CAN 网络? 您是否为网络上的每个节点配备了收发器? 网络上是否至少有两个节点?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Charles 和 CB1、  

    我有2 个 tm4c123 Launchpad 和2个 MCP2551 CAN 收发器。  

    我 将 TivaWare 示例中的简单 TX 和简单 RX 用于第一个和第二个 Launchpad。  

    具有简单导线和试验电路板的120 Ω 电阻器。  

    当我将 RX 代码刻录到一个 Launchpad 上并将 TX 节点连接到 CCS 调试器时。 我在终端上有这种情况:  

    那么,我可以采取哪些步骤来成功传输?  

    此致、  

    斯里特  

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

    [引用 user="sarea Hariri">简单的导线和试验电路板。  [/报价]

    您是否在这里发布过类似的帖子-您的帖子中可能有一张您设置的照片?    

    使用"耐速度" 试验电路板会引起问题!    如果您必须使用 试验电路板 、我建议您将 CAN 数据速率降至最低!

    这2个"简单 CAN"示例程序已证明"非常成功"-在"不变!"使用时      那么、显而易见的问题-您做出了哪些更改(即使是小的更改)?

    "kiss"表示、"为示例程序提供最佳的"工作机会!"    (这意味着、在"简单程序"工作之前"进行无/零更改"-仅(然后)引入您的(小)更改-一次一个-并在引入每个/每个更改后测试/验证操作...    

    通过这种方式(仅以这种方式)、您能否"快速、高效且轻松"发现"您的(可能多个)更改"-"导致、创建和/或促成"您的问题!    KISS 规则-早期和未描述的"海报更改"... 不是很好!  

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

    CB1.

    1。

    除了我添加的启动文件中、我没有对代码进行任何更改  

    extern void CANIntHandler (void);//在默认处理程序的现有声明下
    
    
    

    并将启动文件 (IntDefaultHandler)中与 CAN0相对应的默认处理程序名称更改为 处理程序的名称

    包括在示例中(CANIntHandler)。

    这正是我更改的内容。  

    2.

    示例代码中的速率为500KHz。  请您建议我使用的最低费率吗?  

    3.

    很抱歉我没有给我的电路贴照片、但我认为这不清楚。 相反、我可以告诉您接线。  

    我只需使用笔记本电脑 USB 端口提供的5伏电源、并将 RX、TX 连接到 PB4、PB5。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、您得到了什么误差? 在 CANIntHandler 中放置一个断点,然后查看调用 CANIntStatus()后返回的结果是什么? 它将告诉您错误类型。

    请在示波器上捕获 TX 和 Rx 引脚、您将更好地了解错误的地方。

    以下是您可能会发现有用的最新帖子。 e2e.ti.com/.../2340487
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Charles  

    它现在工作正常,但我仍然不知道问题是什么:)

    我可能会错误地连接 某些导线或类似的导线。 现在一切都正常工作、我观察 到2个节点的终端。 谢谢你

    此致、

    斯里特

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

    谢谢(仅)查尔斯? 当然查尔斯很棒——但 CB1不是“切碎的肝脏”。 (也许-在一些(好)的日子...)

    请注意、您的 CAN 收发器由5V 电源供电- TM4C 的3V3信号电平可能无法证明可靠! (您现在也可以在此处申请绿色环保!)

    使用试验电路板时、始终降低速度-您没有竞争-您的兴趣是、"使电路正常工作!"   将转速拨至250K 或更低-"试验电路板不支持高速-将花费您数小时的时间丢失/浪费!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当然,我并不是说:)
    非常感谢 CB1提供的有用建议。

    此致、
    斯里特