在这个函数里面随便的加一个循环程序就启动不起来呀!
也无法发送任何信号给单片机 为什么??
void serial_rw()
{
int i,j;
unsigned char buff[512];
unsigned char buff2[7];
unsigned char ch_bf;
int count=0;
int nread;
int nwrite;
int ntest_fd;
int test_write;
char buff1[3];
ntest_fd=open("test.txt",O_RDWR);
if(ntest_fd<0)
{
perror("fail to open test_fd");
exit(1);
}
buff2[0]=0xC7;
buff2[1]=0x00;
buff2[2]=0x77;
buff2[3]=0x09;
buff2[4]=0x26;
buff2[5]=0xA6;
buff2[6]=0x0D;
nwrite = write(serial_fd,buff2,sizeof(buff2));
printf("nwrite=%d\n",nwrite);
while(1)
{
nwrite = write(serial_fd,buff2,sizeof(buff2));
printf("nwrite=%d\n",nwrite);
sleep(1);
memset(buff,0,512);
if((nread =read(serial_fd,buff,512))>0)
{
buff[nread] = '\0';
#if 1
write(ntest_fd,buff,nread);//这段代码随便换一个地方程序就无法启动为什么
#endif
printf("\nrecv:%d\r\n",nread);
#if 1
for(i=1;i<nread-2;i++)
{
//count++;
ch_bf+=buff;
printf("%0x",buff);
printf(" ");
// count++;
// ch_bf+=buff;
}
printf("ch_bf=%0x,count=%d\n",ch_bf,count);
printf("\n");
#endif
}
}
close(serial_fd);
}