Browse Source

Fix backlight blinking issue by another way

old_master
Kai Ryu 9 years ago
parent
commit
215419e3b9
1 changed files with 10 additions and 2 deletions
  1. 10
    2
      keyboard/RedScarfII/matrix.c

+ 10
- 2
keyboard/RedScarfII/matrix.c View File

static matrix_row_t read_cols(void); static matrix_row_t read_cols(void);
static void init_cols(void); static void init_cols(void);
static void init_rows(void); static void init_rows(void);
static void unselect_rows(void);
static void select_row(uint8_t row); static void select_row(uint8_t row);


inline inline
} }
debouncing = DEBOUNCE; debouncing = DEBOUNCE;
} }
// select next row
select_row((i + 1) % MATRIX_ROWS);
unselect_rows();
} }


if (debouncing) { if (debouncing) {
DDRB |= (1<<PB2 | 1<<PB1 | 1<<PB0); DDRB |= (1<<PB2 | 1<<PB1 | 1<<PB0);
} }


static void unselect_rows(void)
{
//PORTB |= (1<<PB2 | 1<<PB1 | 1<<PB0);
PORTB |= (1<<PB2);
PORTB |= (1<<PB1);
PORTB |= (1<<PB0);
}

static void select_row(uint8_t row) static void select_row(uint8_t row)
{ {
(row & (1<<0)) ? (PORTB |= (1<<PB2)) : (PORTB &= ~(1<<PB2)); (row & (1<<0)) ? (PORTB |= (1<<PB2)) : (PORTB &= ~(1<<PB2));