em cảm ơn anh namqn nhiều.
cho em hỏi thêm câu này nữa nhé
em dùng con 16f877a để nhận mảng ký tự truyền từ môt con 16f877a khác. mảng ký tự kết thúc bằng ký tự @.
bên phát:
itoa(x,10,s);// s khai báo là char s[5]
s[4]='@';// vì e k biết s kết thúc bằng ký tự gì
printf(s);
bên thu em thực hiện truyền vài lần(thay đổi giá trị của x bằng cách ấn nút) thì e chỉ nhận được lần đầu tiên. truyền các lần tiếp theo thì nó bị đơ luôn, không chạy nữa. e chạy mô phỏng bằng proteus.
đây là code bên phía nhận
Code:
#INT_RDA
RECEIVER()
{
char kt;
int i;
char s1[4];
i=0;
kt=fgetc(pc);
while(kt!='@')
{
s1[i]=kt;
i++;
kt=fgetc(pc);
}
lcd_clear();
delay_ms(1);
lcd_display_str(0, 0, s1);
}