STM32 用矩阵键盘,不带外部中断,可以多个按键同时按下 C 代码: STM32 用矩阵键盘,不带外部中断,可以多个按键同时按下 /**************矩阵键盘
h 文件*********************************/ #ifndef __COMMON_H #define __COMMON_H #include "stm32f10x
h" /* 4*4 矩阵键盘 */ void keyboard_init(void); void update_key(void); extern unsigned char key[4][4]; #endif /**************矩阵键盘
c 文件*****************************/ #include "common
h" struct io_port { GPIO_TypeDef *GPIO_x; unsigned short GPIO_pin; } ; static struct io_port key_output[4] = { {GPIOD, GPIO_Pin_0} , {GPIOD, GPIO_Pin_1} , {GPIOD, GPIO_Pin_2} , {GPIOD, GPIO_Pin_3} } ; static struct io_port key_input[4] = { {GPIOD, GPIO_Pin_4} , {GPIOD, GPIO_Pin_5} , {GPIOD, GPIO_Pin_6} , {GPIOD, GPIO_Pin_7} } ; unsigned char key[4][4]; void keyboard_init(void) { GPIO_InitTypeDef GPIO_InitStructure; unsigned char i; /*