SBUF中的数据发给IC卡再从IC卡中读出问题
发布网友
发布时间:2024-10-07 17:06
我来回答
共1个回答
热心网友
时间:2024-10-07 19:06
你中断程序里面用了局部变量i,
当进入中断处理的时候i初始化0,当sbuf有数据,不管发送还是接收,只能处理一次,也就是说你的for语句,执行一次就执行不下去了。
按理返回都不会返回的。
你可以考虑中断就处理接收,发送。
#define uchar unsigned char
uchar i=0;
void intuart() interrupt 4
{
ES=0;
if(TI){
SBUF=display_buffer[i];
i++;
if(i==8)i=0;
TI=0;
}
if(RI){
display_buffer[i]=SBUF;
i++;
if(i==8)i=0;
RI=0;
}
ES=1;
}
主程序部分你就可以考虑用你的for循环处理接收的数据,用iic总线去读取。