Trích:
Nguyên văn bởi vakk
Chào các anh em có chương trình đơn giản viết bằng Htpic với pic 18f24j10 như sau
int k;
void interrupt Myint(void)
{
if(RCIF==1)
{
k=RCREG;
RCIF=0;
}
}
........
void main(void)
{
init();
while(1)
{
PORTB =k;
}
}
khi em hiển thị trên led 7 thanh thì chỉ nhận được số 0
nhưng khi em viết thành
int k;
void interrupt Myint(void)
{
if(RCIF==1)
{
k=RCREG;
PORTB =k;
RCIF=0;
}
}
........
void main(void)
{
init();
while(1)
{
}
}
thì led 7 thanh lại hiển thị đúng giá trị
vậy là biến k không lưu được giá trị khi nhảy ra khỏi ngắt hay chương trình em viết có vấn đề ạ?
mong các anh giúp đỡ
Thanks
|
Bạn khai báo biến k như sau xem sao:
volatile char k;