English
Language : 

70353C Datasheet, PDF (49/76 Pages) Microchip Technology – Section 21. Enhanced Controller Area Network
Section 21. Enhanced Controller Area Network (ECAN™)
Example 21-5: Code Example for Filtering Extended Data Frame (Continued)
/* Assign 32x8word Message Buffers for ECAN1 in device RAM. This example uses DMA1 for RX.
Refer to 21.8.1 “DMA Operation for Transmitting Data” for details on DMA channel
configuration for ECAN transmit. */
DMA1CONbits.SIZE = 0x0;
DMA1CONbits.DIR = 0x0;
DMA1CONbits.AMODE = 0x2;
DMA1CONbits.MODE = 0x0;
DMA1REQ = 34;
DMA1CNT = 7;
DMA1PAD = (volatile unsigned int)&C1RXD;
DMA0STAL = (unsigned int) &ecan1msgBuf;
DMA0STAH = (unsigned int) &ecan1msgBuf;
DMA1CONbits.CHEN = 0x1;
/* Select Acceptance Filter Mask 1 for Acceptance Filter 2 */
C1FMSKSEL1bits.F2MSK=0x1;
/* Clear Window Bit to Access ECAN Control Registers */
C1CTRL1bits.WIN = 0x0;
C1CTRL1bits.REQOP = 0;
while(C1CTRL1bits.OPMODE != 0);
/* The following code shows one example of how the application can wait for a message to be
received in message buffer 6 */
while(1)
{
/* Message was received. */
while (C1RXFUL1bits.RXFUL6 == 0);
C1RXFUL1bits.RXFUL6 = 0;
}
}
21
© 2008-2011 Microchip Technology Inc.
DS70353C-page 21-49