void enc28j60_setBank(uint8_t address) { if ((address & BANK_MASK) != enc28j60_bank) { enc28j60_writeOp(BFC, ECON1, (BSEL1|BSEL0)); enc28j60_writeOp(BFS, ECON1, (address & BANK_MASK) >> 5); enc28j60_bank = (address & BANK_MASK); }
void enc28j60_setBank(enc28j60_connection* c, uint8_t address) { // set the bank (if needed) if((address & BANK_MASK) != c->bank){ // set the bank enc28j60_writeOp(c, ENC28J60_BIT_FIELD_CLR, ECON1, (ECON1_BSEL1|ECON1_BSEL0)); enc28j60_writeOp(c, ENC28J60_BIT_FIELD_SET, ECON1, (address & BANK_MASK)>>5); c->bank = (address & BANK_MASK); }