EasyManua.ls Logo

TELINK SEMICONDUCTOR TLSR8232 - Page 151

Default Icon
211 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents