diff --git a/source/.vscode/settings.json b/source/.vscode/settings.json index 42f38f6..66f1fe3 100644 --- a/source/.vscode/settings.json +++ b/source/.vscode/settings.json @@ -6,6 +6,7 @@ "type.h": "c", "main.h": "c", "bsp_config_delay.h": "c", - "bsp_key.h": "c" + "bsp_key.h": "c", + "stc_macro.H": "cpp" } } \ No newline at end of file diff --git a/source/bsp/bsp_key.c b/source/bsp/bsp_key.c index 9f7e8a7..853b573 100644 --- a/source/bsp/bsp_key.c +++ b/source/bsp/bsp_key.c @@ -7,12 +7,15 @@ U8 bsp_key_init(void) D_stdIO_P1(BITN7); D_stdIO_P0(BITN6); D_stdIO_P4(BITN3); - D_HighR_P1(BITN0); - D_HighR_P0(BITN7); - D_HighR_P1(BITN3); - D_HighR_P2(BITN0); + + D_stdIO_P1(BITN0); + D_stdIO_P0(BITN7); + D_stdIO_P1(BITN3); + D_stdIO_P2(BITN0); + //初始化为高电平 KR1 = KR2 = KR3 = KR4 = 1; + //初始化为高电平 KC1 = KC2 = KC3 = KC4 = 1; return 0; @@ -20,19 +23,19 @@ U8 bsp_key_init(void) void scan_row(U8 r) { - KR1 = 0; - KR2 = 0; - KR3 = 0; - KR4 = 0; + KR1 = 1; + KR2 = 1; + KR3 = 1; + KR4 = 1; switch(r){ case 1: - KR1 = 1;break; + KR1 = 0;break; case 2: - KR2 = 1;break; + KR2 = 0;break; case 3: - KR3 = 1;break; + KR3 = 0;break; case 4: - KR4 = 1;break; + KR4 = 0;break; default: break; } @@ -42,45 +45,45 @@ U8 scan_col(U8 c) { if(c == 1) { - if(KC1 == 1) + if(KC1 == 0) { delayInMs(10); - if(KC1 == 1) + if(KC1 == 0) { - while(KC1 == 1); + while(KC1 == 0); return 1; } } } else if(c == 2){ - if(KC2 == 1) + if(KC2 == 0) { delayInMs(10); - if(KC2 == 1) + if(KC2 == 0) { - while(KC2 == 1); + while(KC2 == 0); return 1; } } } else if(c == 3){ - if(KC3 == 1) + if(KC3 == 0) { delayInMs(10); - if(KC3 == 1) + if(KC3 == 0) { - while(KC3 == 1); + while(KC3 == 0); return 1; } } } else if(c == 4){ - if(KC4 == 1) + if(KC4 == 0) { delayInMs(10); - if(KC4 == 1) + if(KC4 == 0) { - while(KC4 == 1); + while(KC4 == 0); return 1; } } @@ -106,44 +109,44 @@ U8 bsp_key_scan(void) return 3; } - // //扫描第2行 - // scan_row(2); - // if(scan_col(1) > 0){ - // key = 4; - // } - // if(scan_col(2) > 0){ - // key = 5; - // } - // if(scan_col(3) > 0){ - // key = 6; - // } - // if(scan_col(4) > 0){ - // key = 7; - // } + //扫描第2行 + scan_row(2); + if(scan_col(1) > 0){ + key = 4; + } + if(scan_col(2) > 0){ + key = 5; + } + if(scan_col(3) > 0){ + key = 6; + } + if(scan_col(4) > 0){ + key = 7; + } - // //扫描第3行 - // scan_row(3); - // if(scan_col(1) > 0){ - // key = 8; - // } - // if(scan_col(2) > 0){ - // key = 9; - // } - // if(scan_col(3) > 0){ - // key = 10; - // } - // if(scan_col(4) > 0){ - // key = 11; - // } + //扫描第3行 + scan_row(3); + if(scan_col(1) > 0){ + key = 8; + } + if(scan_col(2) > 0){ + key = 9; + } + if(scan_col(3) > 0){ + key = 10; + } + if(scan_col(4) > 0){ + key = 11; + } - // //扫描第4行 - // scan_row(4); - // if(scan_col(1) > 0){ - // key = 12; - // } - // if(scan_col(2) > 0){ - // key = 13; - // } + //扫描第4行 + scan_row(4); + if(scan_col(1) > 0){ + key = 12; + } + if(scan_col(2) > 0){ + key = 13; + } // if(scan_col(KC3) > 0){ // key = 14; // }