www.pudn.com > SCIB_RS232.rar > eCAN_TX.c


//************************************************************************************** 
//eCAN Transmit 
//**************************************************************************************                                                              
#include "DSP281x_Device.h" 
#include "DSP281x_Examples.h" 
#define TxCount  1000 
 
void eCAN_TX(void) 
	{ 
    	 
    	long i; 
    	struct ECAN_REGS ECanaShadow ;    
    	InitECan(); 
    	EALLOW ; 
		//Write MSGID Area 
    	ECanaMboxes.MBOX5.MID.all = 0x9FFFFFFF ; //Extended Flag 
    	//Config MailBox5 As Send MailBox 
    	ECanaShadow.CANMD.all = ECanaRegs.CANMD.all ; 
    	ECanaShadow.CANMD.bit.MD5 = 0 ; 
    	ECanaRegs.CANMD.all = ECanaShadow.CANMD.all ; 
  
    	//Write MCF.DLC Set Frame Data Length = 8 
    	ECanaMboxes.MBOX5.MCF.bit.DLC = 8 ;           
    	//Set MailBox5 Priority level 
    	ECanaMboxes.MBOX5.MCF.bit.TPL = 0x1F ;   //priority level = 31,the heighest 
    	//Mask MailBox5 Interaput 
    	ECanaRegs.CANMIM.bit.MIM5 = 0 ; 
    	//MailBox5 int Level 
    	ECanaRegs.CANMIL.bit.MIL5 = 0 ; 
    	//装载消息标志符MSGID Setting 
    	ECanaMboxes.MBOX5.MID.bit.IDE = 1 ; 
    	ECanaMboxes.MBOX5.MID.bit.AAM = 0 ; 
    	ECanaMboxes.MBOX5.MID.bit.MSGID_L = 0x0005 ;   //16bit 
    	ECanaMboxes.MBOX5.MID.bit.MSGID_H = 0x0000 ;   //13bit 
    	//Write Data To MailBox5 
    	ECanaMboxes.MBOX5.MDRL.all = 0x01234567 ; 
    	ECanaMboxes.MBOX5.MDRH.all = 0x76543210 ; 
    	//Enable Mailbox 
    	ECanaShadow.CANME.all = ECanaRegs.CANME.all ; 
    	ECanaShadow.CANME.bit.ME5 = 1 ; 
    	ECanaRegs.CANME.all = ECanaShadow.CANME.all ; 
    	 
    	//Start Send 
    	for (i=0;i