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:没有来自 CAN 总线的波形调试错误:boot.asm:227 0x00000C5A (_c_int00不包含帧信息)上的_c_int00 ()

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/696119/ccs-no-wavefrom-coming-on-can-bus-debug-error-_c_int00-at-boot-asm-227-0x00000c5a-_c_int00-does-not-contain-frame-information

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

工具/软件:Code Composer Studio

大家好、

我正在使用 CAN 模块。 之前我创建了有关 CAN 模块问题的主题:  

此问题已得到解决、我在输出端获得了正确的 CAN 帧。  

我还添加了 ADC 代码。 在进行此修改后、我的代码正常工作、并且可以在 PB1处输出 CAN 帧。  

代码如下所示

#include 
#include 
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_ca.h"
#include "inc/hw_ints.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"



#include "driverlib_voltag.uidr32h









;include "driveript_intrl_uidt.u.idt.idr32";include "driveript_inu.idruidr32_inuidt_uidru.idrupt.idt_uidru.idt_u.idru.idt_u.idru.idt.idt.idt.idr32";inu.idru.idru.idru.idr32_u.idt_u.idru.idt.idt.idt.idt.idt.idru.idru.idru.idru.idr.idr.idr.idr.idr.



SysCtlDelay (40000);
}

void CANIntHandler (void)
{
uint32_t ui32Status;
ui32Status = CANIntStatus (CAN0_BASE、CAN_INT_STS_CAUST);
IF (ui32Status = CAN_INT_INTID_STATUS)
{
ui32Status = CANStatusGet (CAN0_BASE、CAN_STS_CONTROL);
G_bErrFlag = 1;
}

否则、如果(ui32Status = 1)
{
CANIntClear (CAN0_BASE、1);
CANMessageClear (CAN0_BASE、1);
G_bErrFlag = 0;
G_bTXFlag = 1;
}
其他
{
}
}


int main (void)

{

uint32_t ui32MsgData=0;
uint8_t * pui8MsgData;
pui8MsgData =(uint8_t *) ui32MsgData;
tCANMsgObject sCANMessage;
sCANMessage.ui32MsgID = 1;
sCANMessage.ui32MsgIDMask = 0;
sCANMessage.ui32Flags = MSG_OBJ_TX_INT_ENABLE;
sCANMessage.ui32MsgLen = sizeof (pui8MsgData);
sCANMessage.pui8MsgData = pui8MsgData;


ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);

SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
SimpleDelay();

GPIOPinConfigure (GPIO_PA0_CAN0RX);
GPIOPinConfigure (GPIO_PA1_CAN0TX);
GPIOPinTypeCAN (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);

SysCtlPeripheralEnable (SYSCTL_Periph_ADC1);
SysCtlPeripheralEnable (SYSCTL_Periph_CAN0);
GPIOPinTypeADC (GPIO_PORTD_base、GPIO_PIN_5);//PD5-CH6-温度
ADCClockConfigSet (ADC1_base、ADC_CClock_SRC_PLL | ADC_CClock_RATE_FULL、15);
ADCSequenceConfigure (ADC1_base、3、ADC_TRIGGER_ALE一直、0);
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH6|ADC_CTL_IE|ADC_CTL_END);//REV.Pow

CANInit (CAN0_BASE);SimpleDelay ();
CANBitRateSet (CAN0_BASE、120000000、1000000);SimpleDelay ();

ADCSequenceEnable (ADC1_BASE、3);
ADCIntClear (ADC1_BASE、3);

CANIntRegister (CAN0_BASE、CANIntHandler);SimpleDelay ();
CANIntEnable (CAN0_BASE、CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);SimpleDelay ();
IntEnable (INT_CAN0);SimpleDelay ();
CANEnable (CAN0_BASE);SimpleDelay ();



计数= 0;
ui32ACCavg1=0;
G_bTXFlag=1;

while (1)
{
while (g_bTXFlag)
{
G_bTXFlag=0;
计数= 0;
while (计数<10)
{
while (!ADCIntStatus (ADC1_base、3、false))
{
}
ADCSequenceDataGet (ADC1_base、3、\ui32ACCValues1);
ADCIntClear (ADC1_BASE、3);
ui32ACCAVG1=ui32ACCAVG1+ui32ACCValues1;
count++;
}
ui32MsgData=ui32ACCVG1/10;
CANMessageSet (CAN0_BASE、1、&sCANMessage、MSG_OBJ_TYPE_TX);
ui32ACCavg1=0;
SimpleDelay();
}

}


现在相同的代码无法正常工作。 没有 CAN 帧出现。

我有4个备用板2正在使用中、2个新的(包装盒)。

我尝试使用我在上一个线程中提到的这个代码和简单 TX 代码来重新编程这个4备用电路板。 但我还是看不到 CAN 帧出来了。

PB1引脚为3.3V ALWasys。

所有电路板都在使用 ADC 代码重新编程时工作、我将获得正确的输出。  

LED 闪烁代码正在运行。 我尝试切换 PB0& PB1引脚并正常工作。输出时有方形器件。

从那一天开始,CAN 无法正常工作我在调试时遇到错误,因为  boot.asm:227 0x00000C5A (_c_int00不包含帧信息


CCS 中的调试错误和设置位于以下 PICS 中:

 e2e.ti.com/.../issue.rar

希望这个问题能尽快解决

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

    我无法分辨您发送的图片有什么问题。 您是否想将项目导出到.zip 文件并上传它?

    File (文件)-> Export (导出)

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

    您好、bob、

    感谢您的快速回复。 请查找 zip file.e2e.ti.com/.../ZIPcode.zip

    此致、

    Krishnat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    项目"RFA_Demo 1stPhase_Temp"适合我。 我注意到您将 CAN 波特率从100KB 更改为1MB。 您是否记得更改网络上所有其他节点的波特率?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob:

    我已为所有节点设置1兆位波特率。

    但目前我尚未将所有节点连接到网络。 我尝试对 RFA_Demo 1ststPhase_Temp 项目进行编程、并在 PB1引脚上看到输出、但到目前为止没有 CAN 帧。 由于网络中没有其他节点需要接收、因此在到达超时之前应持续传输。

    正如我可以看到 PB1引脚持续为3.3V。

    我认为 我在项目设置中犯了错误。

    请浏览 Issue .zip。其中包含 CCS 中设置的屏幕截图。

    否则、请向我发送 CCS 中您的项目设置的屏幕截图。 我认为调试会话中存在错误。

    此致

    Krishnat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    2CH_SS3_T.C 的第74和75行在 PA0和 PA1上配置 CAN0、而不是 PB1。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉 Bob、

    首先、我配置 CAN1模块、但端口 B 上没有输出、因此我配置 CAN0并发布了该代码。

    但 PA1引脚上也没有输出。

    在本例中、我还会小心地更改跳线位置。

    对于任何模块 CAN0或 CAN1、引脚上无输出。

    即使 我尝试对 TM4C123板进行编程、考虑到有引脚分配、但重复了相同的情况。 CAN 引脚保持在3.3V

    此致。

    Krishnat

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

    我迫切需要帮助。
    CAN 模块不工作。
    如果这是硬件故障、那么我是否可以更换新的 LaunchPad。
    我认为与 TI 沟通的唯一方式是这个论坛。 客户端不提供技术支持

    此致
    KRISHNAT
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉您仍有问题。 如果 LaunchPad 确实是一个有缺陷的电路板、我可以为您指明如何返回的方向。 我需要知道您是从 TI store 购买还是从经销商处购买。

    我建议我们先尝试几项操作。 您能否将您的最新代码作为导出的.zip 项目发送给我? 另外、请告诉我您连接到 launchpad 的内容以及如何设置跳线。 我看到在您之前发送的项目 RFA_Demo 1ststPhase_Temp 中、CANTX 引脚(PA1)在短时间后停止、因为它在未连接到有效 CAN 总线时没有确认。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bob、

    我已向您发送项目。 我粘贴了代码、我使用的代码相同、仅更改 CAN1。

    所有跳线均处于默认位置。

    我总共有6个 LaunchPad、当我进行调试时、5个电路板的代码不会进入 ISR。 在五个电路板中、一个电路板显示 PB1引脚上的5V 电压。 这可能是因为 USB 引脚与 CAN 模块复用。

    对于第6个 Launchpad、它进入 ISR、在 CANENABLE()函数之后进入第一个。 在它脱离 ISR 后、ui32status=5。

    在 CANMmessageset()函数之后,它第二次进入 ISR,这里的 ui32status=229在它退出 ISR 之后。

    最后、您提到我的代码可在您的硬件上运行。 您可以看到 CAN 帧。 由于没有接收器存在、总线会在一段时间后关闭。 这是完美的。

    可能是 CCS 中的设置错误、或者使用的 CCS 版本和 TIvaware 可能有错误。 那么、您能否向我发送 CCS 设置并告诉我您正在使用的 CCS 和 TIvaware 版本

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还有一点是、所有这些电路板都是从 TI store 购买的。

    根据我们的项目设计、一个模块需要5个 TM4C1294 Launchpad。
    这4个模块就在那里。
    另一个子模块需要4个 LaunchPad。

    我已经为传感器设计了 DAQ 板。 我们有 NI 硬件可供进一步处理。
    CAN 通信在 LaunchPad 和 NI 硬件之间进行。
    现在问题是 launchpad CAN 模块仅无法正常工作、其余部分正常工作。 我必须在7月底交付此项目。

    如果这个问题不能解决、我就必须从其他公司取控制卡。 因为我无法信任。
    昨天、我去了其他部门、他们在同一个 LaunchPad 上工作。 我采用了与上面相同的代码、在这里进行了修改、我使用了 CAN1而不是 CAN0。 在那里的系统上,我的代码也不起作用。
    如果可能、请帮助我...
    此致
    KRISHNAT