View Single Post
Old 25-11-2008, 02:17 AM   #10
trongnhanfan
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 7
:
Bạn ơi!!, mình đã thêm vào file DEF_16F877A.h rùi, nhưng sao nó vẫn báo lỗi như sau:
Expecting a declaration
và dòng lệnh này bị báo lỗi:
char keycodes[16] = {'0','1','2','3','4','5','6','7','8','9','A','B',' C','D','E','F'};
và còn nhiều dòng lệnh khác nữa.
còn nữa
char quetphim()
// Scan the keypad for a keypress.
// Return 0 for no press or the char pressed.
{ INT8 row,col,tmp;
CHAR key;
INT wait;
// Disable ADC functionality on Port A
ADCON1 = 6;
// Initialise Port for input, and PORTC for output
TRISA = PORTC = 0xFF;
TRISC = 0;
for (row=0; row <4;row++)
{ // Drive appropriate row low and read columns:
PORTC= ~(1 << row);
for (wait=0; wait<100; ++wait) ;
tmp = PORTA;
// See if any column is active (low):
for (col=0; col<4; ++col)
if ((tmp & (1<<col)) == 0)
{ INT8 idx = (row*4) + col;
key = keycodes[idx];
goto DONE;
}
}
DONE:
TRISC = 0xFF;
return key;
}
bạn có thể giải thích rõ hơn về câu lệnh không? Ví dụ như tại sao lại gán PORTC= ~(1 << row); mình chưa hiểu dòng lệnh này!!!
Mong bạn chỉ giúp!!!! thanks nhùi nhùi
trongnhanfan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn