Part Number: TMS320F28075
Other Parts Discussed in Thread: C2000WARE
Tool/software: Code Composer Studio
Hi Experts:
I have some problem about CAN initial. I want to use IF2 to receive CAN data and receive interrupt. But when I run code. CAN cannot Interrupt. Baud Rate set as 1Mbps.
Is there anything I forgot to set?
Furthermore. I don't know how to use 28075 mailbox. I used 28069 before. But there are some different. Is there anyone have source code can reference?
These is my source code:
void cana_init(void)
{
EALLOW;
//Init bit set
CanaRegs.CAN_CTL.bit.Init = 1;
//Configure CAN RX and TX pins
CanaRegs.CAN_IF1MCTL.bit.DLC = 9;//Data Length
CanaRegs.CAN_IF1MSK.bit.Msk = 0x40000;//address
CanaRegs.CAN_IF1CMD.bit.DIR = 1;
CanaRegs.CAN_IF2MCTL.bit.DLC = 9;
CanaRegs.CAN_IF2MCTL.bit.RxIE = 1;//Receive Interrupt Enable
CanaRegs.CAN_IF2MSK.bit.Msk = 0x80000;
CanaRegs.CAN_IF2CMD.bit.DIR = 0;
//Configure Bit Timing
CanaRegs.CAN_CTL.bit.CCE = 1;// set CCE to access timing
CanaRegs.CAN_BTR.bit.BRPE = 7;//tq=(BRPE/BRP)/CAN_CLK
CanaRegs.CAN_BTR.bit.BRP = 1;
CanaRegs.CAN_BTR.bit.TSEG2 = 2;
CanaRegs.CAN_BTR.bit.TSEG1 = 10;
CanaRegs.CAN_CTL.bit.Init = 0;
CanaRegs.CAN_CTL.bit.CCE = 0;
EDIS;
EALLOW;
CanaRegs.CAN_CTL.bit.IE0 = 0;
CanaRegs.CAN_CTL.bit.IE1 = 1;
EDIS;
}