首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

烦啊还是串口有关问题

2012-04-12 
烦啊,还是串口问题打印机能收到串口发过去的数据,用打印机的Hex Dump看打印机收到的16进制数确认打印机是

烦啊,还是串口问题

打印机能收到串口发过去的数据,用打印机的Hex Dump看打印机收到的16进制数确认打印机是收到正确的数据

但咋就收不到打印机发回来的数据呢

用PC给打印机发指令,能正常收到打印机返回的数据

PrintASCII68(0,3,"2.Printer");
for(i=0;i<17;i++){StringD[i]=0;}
REN=1;
SBUF=0x1d;
while(TI==0);
TI=0;
SBUF=0x49;
while(TI==0);
TI=0;
SBUF=0x42;
while(TI==0);
TI=0;
for(i=0;i<17;i++)
{
T_counter1=0;
while(RI==0)
{
if(T_counter1>10)
{
if((i==0)|(i==1)){/*PrintASCII68(0,4,"No printer");delayms(2000);*/goto LP0;}
else{break;}
}
}
RI=0;
StringD[i]=SBUF;
}
PrintASCII68(96,3,"Ok");
Printer=1;
PrintASCII68(0,4,StringD);
for(i=0;i<17;i++){StringD[i]=0;}
delayms(200);
SBUF=0x1d;
while(TI==0);
TI=0;
SBUF=0x49;
while(TI==0);
TI=0;
SBUF=0x43;
while(TI==0);
TI=0;
for(i=0;i<17;i++)
{
T_counter1=0;
while(RI==0)
{
if(T_counter1>10)
{
if((i==0)|(i==1)){/*PrintASCII68(0,4,"No printer");delayms(2000);*/goto LP0;}
else{break;}
}
}
RI=0;
StringD[i]=SBUF;
}
PrintASCII68(0,5,StringD);

LP0:
for(i=0;i<9;i++){StringD[i]=0;}
if(Printer==0){PrintASCII68(96,3,"No");}
delayms(200);

程序上也看不出多大的问题,线路上测了下都是通的,T_counter1是定时器计数

[解决办法]
接受要使用中断。
[解决办法]
使用的什么打印机呀?有没有返回数据的管脚没有控制到?(方向、读/写)?

热点排行