Mình làm mạch có một nút nhấn. Sử dụng ngắt ngoài RB4-RB7.
Vấn đề của mình ở đây là không sử dụng được biến toàn cục. Mình muốn ấn nút nhất 4 lần thì led thay đổi trạng thái. Nhưng biến toàn cục sau khi được tăng ở hàm ngắt, khi thoát ra khỏi hàm này nó trở về giá trị ban đầu. Đây là code của mình, mọi người xem và sửa sai dùm. Cảm ơn rất nhiều!
#include "C:\Users\Admin.Admin-PC\Documents\main.h"
#USE delay (clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
int8 mode;
#INT_RB
void RB_isr (void)
{
mode=mode+1;
}
Void main ()
{
set_tris_c (0x00);
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
ext_int_edge(H_TO_L);
while (true)
{
if (mode==4)
{
output_low (pin_c0);
}
}
}
Vấn đề của mình ở đây là không sử dụng được biến toàn cục. Mình muốn ấn nút nhất 4 lần thì led thay đổi trạng thái. Nhưng biến toàn cục sau khi được tăng ở hàm ngắt, khi thoát ra khỏi hàm này nó trở về giá trị ban đầu. Đây là code của mình, mọi người xem và sửa sai dùm. Cảm ơn rất nhiều!
#include "C:\Users\Admin.Admin-PC\Documents\main.h"
#USE delay (clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
int8 mode;
#INT_RB
void RB_isr (void)
{
mode=mode+1;
}
Void main ()
{
set_tris_c (0x00);
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
ext_int_edge(H_TO_L);
while (true)
{
if (mode==4)
{
output_low (pin_c0);
}
}
}