시리얼이 한바이트씩 입력 받을 때마다, 고넘을 일정한 버퍼에 복사하고,
특정한 조건이 되면, 저장했던 데이터를 화면에 char형태로 찍어주는 프로그램이다.
=======================================================================================
volatile int STOP=FALSE;
main()
{
int fd,c, res,i, rlen, slen;
struct termios oldtio,newtio;
char buf[255];
char sendbuf[2048];
char recvbuf[2048];
char printbuf[2048];
int STEP=0;
short crcnt,ackcnt,dlecnt;
crcnt = ackcnt = dlecnt = rlen = slen = 0;
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd <0)
{
perror(MODEMDEVICE);
exit(-1);
}
else
{
printf("Port Open Ok!!
");
}
tcgetattr(fd,&oldtio); /* ?ㅤㄲㅛㄾㅤㅇㅗㄾ ?ㅼㅤㅈㅓㅌ??oldtio???€??*/
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
/* set input mode (non-canonical, no echo,...) */
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0; /* 臾몄ㅤㅇㅕㅋ ?ъㅤㅆㅢㅆ??timer瑜?disable */
newtio.c_cc[VMIN] = 1; /* 理ㅤㅆㅝㅈㅤㄴㅒㅁ 5 臾몄ㅤㅇㅕㅋ 諛ㅤㅆㅖㄻㅤㅆㅠㅀ ?ㅤㄸㅜㅂㅤㅌㅞㅁ吏?blocking */
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
memset(buf,0, sizeof(buf));
while (STOP==FALSE)
{ /* loop for input */
res = read(fd,buf,1); /* 理ㅤㅆㅝㅈㅤㄴㅒㅁ 5 臾몄ㅤㅇㅕㅋ瑜?諛ㅤㅆㅖㄻㅤㅆㅛㅇ硫?由ыㅤㄲㅙㄵ */
//buf[res]=0; /* '???????????????????????????????????????????????????????????????????????????????????????
특정한 조건이 되면, 저장했던 데이터를 화면에 char형태로 찍어주는 프로그램이다.
=======================================================================================
volatile int STOP=FALSE;
main()
{
int fd,c, res,i, rlen, slen;
struct termios oldtio,newtio;
char buf[255];
char sendbuf[2048];
char recvbuf[2048];
char printbuf[2048];
int STEP=0;
short crcnt,ackcnt,dlecnt;
crcnt = ackcnt = dlecnt = rlen = slen = 0;
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd <0)
{
perror(MODEMDEVICE);
exit(-1);
}
else
{
printf("Port Open Ok!!
");
}
tcgetattr(fd,&oldtio); /* ?ㅤㄲㅛㄾㅤㅇㅗㄾ ?ㅼㅤㅈㅓㅌ??oldtio???€??*/
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
/* set input mode (non-canonical, no echo,...) */
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0; /* 臾몄ㅤㅇㅕㅋ ?ъㅤㅆㅢㅆ??timer瑜?disable */
newtio.c_cc[VMIN] = 1; /* 理ㅤㅆㅝㅈㅤㄴㅒㅁ 5 臾몄ㅤㅇㅕㅋ 諛ㅤㅆㅖㄻㅤㅆㅠㅀ ?ㅤㄸㅜㅂㅤㅌㅞㅁ吏?blocking */
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
memset(buf,0, sizeof(buf));
while (STOP==FALSE)
{ /* loop for input */
res = read(fd,buf,1); /* 理ㅤㅆㅝㅈㅤㄴㅒㅁ 5 臾몄ㅤㅇㅕㅋ瑜?諛ㅤㅆㅖㄻㅤㅆㅛㅇ硫?由ыㅤㄲㅙㄵ */
//buf[res]=0; /* '???????????????????????????????????????????????????????????????????????????????????????
'리눅스' 카테고리의 다른 글
[리눅스] 일반 명령어들.... (0) | 2006.08.22 |
---|---|
우분투에서 특별한 버젼으로 패키지 설치하기 (0) | 2006.08.22 |
이쁜 터미널 YakuaKe (0) | 2006.08.12 |
grep 검색시 검색어 색깔로 표현하기 (0) | 2006.07.19 |
rsync를 이용한 소스 백업 (0) | 2006.07.14 |