[hỏi về code mẫu pre2]

:1cool_byebye:mấy ac giải thích hộ em phần này, :((:((
char Led_Detect(int iState)
tại sao cái này lại trả về kiểu char??
và giải thích giúp em đoạn này
#pragma vector = PORT2_VECTOR
__interrupt void BUTTON_Interrupt_Handle(void)
{
if ((P2IFG & BTN1) == BTN1)
{
cLed_Detected = Led_Detect(iState);
P2IFG &= ~BTN1;
}
else if((P2IFG & BTN2) == BTN2)
{
cLed_Detected = 0;
P2IFG &= ~BTN2;
}
 

NKN_LX

Thành Viên PIF
Khi nhấn BTN1 thì bạn sẽ gán cLed_Detected bằng gia trị của hàm Led_Detected lúc bây giờ là giá trị của led đang sáng. Trong dòng lệnh switch có P1OUT= cLED_Detected trong mỗ case nên led đó sẽ luôn sáng. Khi nhấn BTN2 thì bạn set cLED_Detected lại bằng 0 nên chỗ led đó ko sáng nữa :). Còn phần sử dụng kiểu char thì mình vẫn chưa hiểu, cao nhân nào chỉ giúp :)
 

TRẦN MINH QUANG

Thành Viên PIF
Vì để biết 8 led thì chỉ cần 8 bit cuối là đủ rồi, bạn nhìn trên phần define bạn sẽ thấy nó chỉ thay đổi 8 bit cuối thôi, bạn lấy các kiểu lớn hơn cũng ko sao, a lấy char để tốn ít bộ nhớ hơn. Nếu bạn trả về kiểu nào thì thay đổi biến cLed_detected có kiểu tương ứng nhé.
Thân :D
 
Top