
Telink TLSR8232 BLE SDK Developer Handbook
AN-19112700-E1
150
Ver.1.0.0
is not enabled, scan pins still detect high level due to voltage division of 100K and 10K
resistor.)
Define valid voltage level detected on scan pins when drive pins output low level in
Row/Column scan:
#define
KB_LINE_HIGH_VALID
0
Define pull-up resistor for scan pins and pull-down resistor for drive pins
#define
MATRIX_ROW_PULL
PM_PIN_PULLDOWN_100K
#define
MATRIX_COL_PULL
PM_PIN_PULLUP_10K
#define
PULL_WAKEUP_SRC_PA5
MATRIX_ROW_PULL
#define
PULL_WAKEUP_SRC_PA4
MATRIX_ROW_PULL
#define
PULL_WAKEUP_SRC_PA3
MATRIX_ROW_PULL
#define
PULL_WAKEUP_SRC_PA2
MATRIX_ROW_PULL
#define
PULL_WAKEUP_SRC_PA1
MATRIX_ROW_PULL
#define
PULL_WAKEUP_SRC_PC6
MATRIX_COL_PULL
#define
PULL_WAKEUP_SRC_PC5
MATRIX_COL_PULL
#define
PULL_WAKEUP_SRC_PC4
MATRIX_COL_PULL
#define
PULL_WAKEUP_SRC_PC3
MATRIX_COL_PULL
#define
PULL_WAKEUP_SRC_PC2
MATRIX_COL_PULL
#define
PULL_WAKEUP_SRC_PC1
MATRIX_COL_PULL
Since “ie” of general GPIOs is set as 0 by default in gpio_init, to read level on scan pins,
corresponding “ie” should be enabled.
#define
PC6_INPUT_ENABLE
1
#define
PC5_INPUT_ENABLE
1
#define
PC4_INPUT_ENABLE
1
#define
PC3_INPUT_ENABLE
1
#define
PC2_INPUT_ENABLE
1
#define
PC1_INPUT_ENABLE
1
When MCU enters suspend or deepsleep, it
’s needed to configure CORE/PAD GPIO
wakeup. Set drive pins as high level wakeup; when there’s button pressed, drive pin
reads high level, which is 10/11 VCC (i.e. VCC * 100K/(100K+10K)). To read level state
of drive pins, corresponding “ie” should be enabled.
#define
PA5_INPUT_ENABLE
1