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.

[参考译文] LAUNCHXL-F28379D:带有 SysConfig 的 CAN 中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1318927/launchxl-f28379d-can-interrupt-with-sysconfig

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:SysConfigC2000WARE

您好!

我开始使用 CAN 应用。

我尝试使用 SysConfig 来做到这一点。

我 可以发送消息、但无法使用中断。 在 SysConfig 和代码中执行的操作。 我的煤是在每次发送消息1时生成中断。

1) 1)我启用 IE1、消息传输完成或总线错误

对于全局中断线路、我选择了 GLOBAL_INT0和 GLOBAL_INT1。  

即使我不想使用此行、也会选择 Global_INT0。 我不知道原因、但如果我未选择此选项、会出现警告消息:

(I DIDn 未启用线路0中断)

2) 2)我仅使用消息1邮箱

3)此邮箱被配置为一个传输邮箱。 我请求一个传输中断、并且把它连接到 Line1:

4) 4)我启用了 PIE 中的中断:

5) 5)在 ISR 1中、我清除中断状态和全局中断状态、然后确认组

但是问题是、尽管命令正确发送了消息、但我从不进入 ISR

那么、我的问题是:

-警告信息是什么意思?

-为什么我永远不进入 ISR ?

-我在 ISR 中的代码是否有意义?

谢谢你会帮助我的任何人!

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

    所以您可以监视总线上的报文(也就是说、帧实际上是在总线上传输的)、但没有中断被置为有效呢?  

    是否可以从  C:\ti\c2000\C2000Ware_5_01_00_00\driverlib\f2837xd\examples\cpua\can 尝试 can_ex3_external_transfer.c? 我想看看中断是否适用于该示例。

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

    你好,Hareesh。 感谢您的帮助。

    您明白了:我能够从 C200中监控 CAN 传输、但程序绝不会进入传输子例程。

    (C200Data 是 C2000微控制器发送的消息)

    我已经看到过该示例、它可以帮助我在 ISR 中编写所需的代码。 我无法在电路板上运行它、因为我无法使用 CANA 和 CANB 模块。

    此外、该示例不包含任何 SysConfig 文件。

    那么、您可以看看我连接到该线程的存档。 我特别为您制作:

    在仅包含一个针对对象1的传输所需的 ISR

    - 对象1在发送消息时断言线路1中断

    - CANB 启用线路1和消息完成中断和全局线路1

    - PIE 启用 CAN 中断1

    我有很多问题:

    -主要的一个:为什么程序永远不会进入 ISR ?

    -为什么尽管 CMD 文件中没有针对 CAN 的声明内存,程序仍然运行?

    -我不明白如何使用 can_getInterruptCAse 函数。 它返回的中断寄存器是什么?

    -在 ISR 中 CAN_clearInterruptStatus 功能是必需的吗?

    -为什么 SysConfig 会在启用全局线路0时警告用户 ,即使线路0被禁用? (下面提供)

     

    谢谢你。

    e2e.ti.com/.../Archive_5F00_TI.zip