View Single Post
Old 16-04-2009, 06:00 PM   #79
lequocbao
Đệ tử 6 túi
 
lequocbao's Avatar
 
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
:
#int_RDA
void RDA_isr()
{
buf=getc();
putc(buf);
portb = 0x0f;//----------> portb =0x0f khi có ngắt lần thứ mấy vẫn không đổi
}

void main()
{
trisb=0x00;
portb = 0x00;//---->trạng thái đầu của portB
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);

while(1)
{

}
}

theo chương trình bạn viết thì portb chỉ thay đổi trạng thái chỉ 01 lần duy nhất thôi.sau đó dù có ngắt xảy ra bao nhiêu lần đi chăng nữa thì portb vẫn luôn không đổi và = 0x0f forever!vì vậy bạn cần quan sát kỹ trạng thái của portb khi mới cấp nguồn cho pic và khi bạn gưi dữ liệu qua rs232 lần đâu tiên là sẽ có sự khác nhau như bạn mong muốn và sau đó thì portb sẽ không đổi.

thay đổi nội dung bởi: lequocbao, 16-04-2009 lúc 06:13 PM.
lequocbao vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn