Beispiel #1
0
static unsigned char enc_read_reg( unsigned char reg )
{
	unsigned char value;
	unsigned char addr = reg & ENC_REG_ADDR_MASK;

	if( addr < 0x1A ) {
		unsigned char bank = (reg & ENC_REG_BANK_MASK) >> ENC_REG_BANK_SHIFT;
		if( bank != enc_cur_bank ) {
			// need to switch bank first
			enc_clrbits_reg( ENC_REG_ECON1, 0x03 << ENC_BIT_BSEL0 );
			if( bank ) {
				enc_setbits_reg( ENC_REG_ECON1, bank << ENC_BIT_BSEL0 );
			}
			enc_cur_bank = bank;
		}
	}
Beispiel #2
0
static u8 ICACHE_FLASH_ATTR enc_read_reg( u8 reg )
{
	u8 value;
	u8 addr = reg & ENC_REG_ADDR_MASK;

	if( addr < 0x1A ) {
		u8 bank = (reg & ENC_REG_BANK_MASK) >> ENC_REG_BANK_SHIFT;
		if( bank != enc_cur_bank ) {
			// need to switch bank first
			enc_clrbits_reg( ENC_REG_ECON1, 0x03 << ENC_BIT_BSEL0 );
			if( bank ) {
				enc_setbits_reg( ENC_REG_ECON1, bank << ENC_BIT_BSEL0 );
			}
			enc_cur_bank = bank;
		}
	}