#include "main.h" #include "init_clock.h" #include "init_peripherals.h" key_matrix_t keyMatrix = { .colNum = KEYBOARD_MATRIX_COLS_NUM, .rowNum = KEYBOARD_MATRIX_ROWS_NUM, .cols = (key_matrix_pin_t[]) { {PORTB, GPIOB, kCLOCK_PortB, 11}, {PORTA, GPIOA, kCLOCK_PortA, 6}, {PORTA, GPIOA, kCLOCK_PortA, 8}, {PORTB, GPIOB, kCLOCK_PortB, 0}, {PORTB, GPIOB, kCLOCK_PortB, 6}, {PORTA, GPIOA, kCLOCK_PortA, 3}, {PORTA, GPIOA, kCLOCK_PortA, 12} }, .rows = (key_matrix_pin_t[]) { {PORTB, GPIOB, kCLOCK_PortB, 7}, {PORTB, GPIOB, kCLOCK_PortB, 10}, {PORTA, GPIOA, kCLOCK_PortA, 5}, {PORTA, GPIOA, kCLOCK_PortA, 7}, {PORTA, GPIOA, kCLOCK_PortA, 4} } }; volatile bool DisableKeyMatrixScanState; int main(void) { InitClock(); InitPeripherals(); KeyMatrix_Init(&keyMatrix); while (1) { if (!DisableKeyMatrixScanState) { KeyMatrix_Scan(&keyMatrix); } asm("wfi"); } }