#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/un.h>
#include <sys/ioctl.h>
#include <errno.h>
#define BAUDRATE B115200
int main (void)
{
        int fd;
 struct termios newtio;
 char data;
 if((fd = open("/dev/ttySAC2", O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) // serial 통신 디바이스 오픈
 {
  perror("/dev/ttySAC2Open Fail: ");
  return -1;
 }
 
 memset(&newtio, 0, sizeof(newtio));
 newtio.c_cflag = B115200 | CS8 | CLOCAL | CREAD; // Control options : 115,200 baud, 8 data bits, Local line, Enable receiver
 /* CLOCAL, CREAD 옵션은 항상 활성화 */
 newtio.c_iflag = 0;
 newtio.c_oflag = 0;
 newtio.c_lflag = 0;     // LIne options :
 newtio.c_cc[VTIME] = 0;    // 타이머의 시간설정
 newtio.c_cc[VMIN] = 1;    // read할 대 리턴되기 위한 최소문자 개수
 
 tcflush(fd, TCIFLUSH);    // 입력 데이터를 소거
 tcsetattr(fd, TCSANOW, &newtio);
  
 while(1){

  read(fd, data, 1);
  printf("%d\n", data);  
 }
 close(fd);
}

128은 a라는 문자열을 송신하도록 컴파일하였고 PC로 확인하였습니다.

 

그런데 위의 소스를 컴파일하여 미니컴에서 실행하여보면 data에서 쓰레기값이 뜨는데.... 왜그런지 잘 모르겟습니다.

 

도와주세요 ㅠㅠ