1.4.2 The EWIN Feature Will Not Move the BnCON[0...5] Registers Into the Access Window of RAM

The Enhanced Window Address (EWIN) feature will not move the BnCON[0...5] registers into the access window of RAM. The rest of the registers in B0 through B5 will be transferred into the access bank successfully. This feature is only available in Mode 1 and Mode 2; Mode 0 applications will not be affected.

Work around

  1. Set the ECANCON register's EWIN bits to the desired buffer:
    ECANCONbits.EWIN = Buffer_Selection;
  2. Decode the desired buffer to each individual Buffer Control register, BnCON[0...5]:
    switch(Buffer_Selection)
    {
        case 18:       // EWIN code for Buffer B0
               break;
        case 23:       // EWIN code for Buffer B5
               break;
        default:
               break;
    }
  3. Process information in the selected buffer control register. Note that the BnCON[0...5] Control registers can be set up for either transmit or receive operations:
    case 18:      // Save B0CON and clear flags being processed
    temp = B0CON;   // Clear any flags
    break;
  4. Continue processing the rest of the buffer in the windowed location.

Affected Silicon Revisions

A2A3A4A6A7
X