|
04-05-2013, 12:23 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 4
: |
Giúp mình đoạn code này với
#define h0 PIN_D0
#define h1 PIN_C3 #define h2 PIN_C4 #define h3 PIN_C5 #define v0 PIN_B3 #define v1 PIN_B2 #define v2 PIN_B1 #define v3 PIN_B0 int8 keypad_break = 1; char const keys[4][4] = { // define button name {'7','8','9','A'}, {'4','5','6','B'}, {'1','2','3','C'}, {'*','0','#','D'} }; int8 Keypad(){ int8 col = 0; output_high(v0); output_high(v1); output_high(v2); output_high(v3); while (col < 4) { if (keypad_break) return 0; switch (col) { case 0: output_high(v3); output_low(v0); break; case 1: output_high(v0); output_low(v1); break; case 2: output_high(v1); output_low(v2); break; case 3: output_high(v2); output_low(v3); break; } if ( !input(h0)) return keys[0][col]; if ( !input(h1)) return keys[1][col]; if ( !input(h2)) return keys[2][col]; if ( !input(h3)) return keys[3][col]; col++; } return 16; } -------------------------------------------------- Theo mình hiểu: V0 - V3 là các hàng; H0 - H3 là các cột. Ban đầu col ở bit 0. Cho các hàng output_high while từ 0 - 3; case 0: cột h0 ở bit 0 TẠI SAO lại v3 high và V0 low thì nó nhận đc là có phím ấn, mình ko hiểu??? tiếp theo, if ( !input(h0)) return keys[0][col]; nghĩa là khi h0 bit 0 thì nhận đc giá trị phím. |
|
|