#include
#include
#include
#include
#include
#include"./libtinytty.c"
#include"./libasyncstdio.c"
char buf[81];
int flags;
int std = STDIN_FILENO;
void catcherr(int n);
void writestd(char *buf,int len){
int i;
int cksum = 0;
printf("v1:s");
if(len<10){
printf("0");
}
printf("%d",len);
printf(":");
for(i=0;i0){
writestd(buf,n);}
n = read(std,buf,24);
catcherr(n);
if(n>0){
write(fd,buf,n);
writestd(buf,n);}
usleep(1000);
}
}
void catcherr(int n){
if(n==0){
fprintf(stderr,"error: eof\n");
_tcioflush(std);
exit(1);
}
else{
if(n<0){
if(errno != EAGAIN){
fprintf(stderr,"error: fail in reading device %s\n","/dev/ttyUSB0");
perror("");
exit(1);
}
}
}
}
串口轉十六進制併發送到stdin,尚未調試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.