为什么第二个for循环里的发送会失败,而第一个for循环确可以成功发送,并被接收?
/*发送程序*/
#include <stdio.h>
#include <bios.h>
void main()
{
char ch;
int i;
char arr[10]={'h','e','l','l','o','-','!','!','J','K'};
bioscom(0,0xE3,0);
if(bioscom(3,0,0)&0x100)
printf("com1 ready...\n");
for(i=0;i<10;i++) /*第一个*/
{
if( bioscom(1,arr[i],0)&0x8000)
printf("send error!");
}
for(i=0;i<10;i++) /*第二个*/
{
if(bioscom(1,arr[i],0) & 0x8000)
printf("send error!");
}
ch=getch();}
/*接收程序*/
#include<stdio.h>
#include <bios.h>
void main()
{
int _status;
char _rx;
bioscom(0,0xE3,0);
printf("com1 ready now\n");
while(1)
{
_status=bioscom(3,0,0)&0x100;
if(_status)
{
_rx=bioscom(2,0,0);
printf("%c",_rx);
}
}
}
/*发送程序*/
#include <stdio.h>
#include <bios.h>
void main()
{
char ch;
int i;
char arr[10]={'h','e','l','l','o','-','!','!','J','K'};
bioscom(0,0xE3,0);
if(bioscom(3,0,0)&0x100)
printf("com1 ready...\n");
for(i=0;i<10;i++) /*第一个*/
{
if( bioscom(1,arr[i],0)&0x8000)
printf("send error!");
}
for(i=0;i<10;i++) /*第二个*/
{
if(bioscom(1,arr[i],0) & 0x8000)
printf("send error!");
}
ch=getch();}
/*接收程序*/
#include<stdio.h>
#include <bios.h>
void main()
{
int _status;
char _rx;
bioscom(0,0xE3,0);
printf("com1 ready now\n");
while(1)
{
_status=bioscom(3,0,0)&0x100;
if(_status)
{
_rx=bioscom(2,0,0);
printf("%c",_rx);
}
}
}
for(i=0;i<10;i++) /*第一个*/
{
if( bioscom(1,arr[i],0)&0x8000)
printf("send error!");
}
第一次时,十次发送都成功吗??