Chào mọi người, cho em hỏi sao em không dùng được chức năng interrupt on change trên portb, em viết chương trình như thế này
.......
#INT_RB
void RB_int()
{
counted_round_value++;
printf("%ld\t",counted_round_value);// hiển thị giá trị số lần ngắt về máy tính
}
void main()
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_RB);
port_b_pullups(true);
set_tris_b(0xf0);
output_low(PIN_B0);
while(true);
}
..... em dùng 1 phím nhấn để thay đổi tín hiệu trên 1 chân (từ b4 đến b7)
khi hiển thị về máy tính thì thấy giá trị số lần ngắt tăng liên tục mặt dù chưa nhấn phím.
dòng lệnh port_b_pullups(true); để chống nhiễu do áp trôi trên portb, em đã thử bỏ đi mà kết quả vẫn không đổi.
kiểm tra lại thì phím nhấn không vấn đề gì.
|