npbaoduy
17-03-2009, 10:15 PM
em có viết 1 đoạn chương trình như sau
void main()
{
x=1;
set_TRIS_A(1);
EXT_INT_EDGE(0,L_TO_H);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
while (x==1)
{
output_toggle(PIN_E0);
delay_ms(100);
output_toggle(PIN_E1);
delay_ms(100);
output_toggle(PIN_E2);
delay_ms(100);
}
#INT_EXT
void ngat()
{
x=0;
}
Không hiểu sao, khi em test thử, chỉ khi chân INT0 lên mức cao thì vòng lặp mới dừng lại (các LED nối ở porte ko chớp) khi chân INT0 về mức thấp, vòng lặp vẫn tiếp tục (LED chớp( trở lại), tức là x vẫn bằng 1?
Ai biết xin chỉ giúp, em xin cám ơn nhiều.
void main()
{
x=1;
set_TRIS_A(1);
EXT_INT_EDGE(0,L_TO_H);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
while (x==1)
{
output_toggle(PIN_E0);
delay_ms(100);
output_toggle(PIN_E1);
delay_ms(100);
output_toggle(PIN_E2);
delay_ms(100);
}
#INT_EXT
void ngat()
{
x=0;
}
Không hiểu sao, khi em test thử, chỉ khi chân INT0 lên mức cao thì vòng lặp mới dừng lại (các LED nối ở porte ko chớp) khi chân INT0 về mức thấp, vòng lặp vẫn tiếp tục (LED chớp( trở lại), tức là x vẫn bằng 1?
Ai biết xin chỉ giúp, em xin cám ơn nhiều.