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.

TMS320F28377D: SYSBIOS HWI and CAN Interrupts

Part Number: TMS320F28377D

关于SYS/BIOS系统,我配置了CAN中断,但是DSP不能进入中断函数,我需要再main函数中使能CAN中断吗?采用Hwi_enableInterrupt(0x66)和Hwi_enable()均不能触发CAN中断?采用CANIntEnable(CANB_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);和CANGlobalIntEnable(CANB_BASE, CAN_GLB_INT_CANINT0);会使CAN通信崩溃。

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 您好

    1.启用从ePIE块中提取向量:PIECTRL寄存器、ENPIE

    2.CAN控制器中断源应启用:CAN_CTL寄存器、IE0、IE1、EIE、SIE

    3.PIE中断启用:PIE_IER9,PIE组9:INT9.7 CANB INT0;INT9.8可以INT1;INT9.5,可INT0;INT9.6可输入1

    4.启用全局中断:INIM

    5.在CAN ISR中,您需要确认中断

  • 如果采用SYS/BIOS系统,采用CANIntEnable(CANB_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);和CANGlobalIntEnable(CANB_BASE, CAN_GLB_INT_CANINT0);这两行代码,进入CAN中断时,CAN_ES寄存器的值为0xC08,之后CAN通信终止,其他ADC中断也会终止,如果想要使能CAN中断,需要增加什么代码呢?采用SYS/BIOS系统,需要你所讲述的第1,3条吗?

  • 您好

    当中断从PIE传播到CPU中断行时,会设置中断组的PIACK位。这可以防止该组中的其他中断在处理第一个中断时传播到CPU。

    将1写入PIACK位会清除它,并允许来自相应组的另一个中断传播。PIE中断的ISR应在从中断返回之前清除组的PIACK位。