<>

음.. 이런 것을 여기에 올리기는 좀 머하지만..
달리 물어볼때가 없어. 매번 여기에 오네요...

kldp에 있는 Serial-Programming HOWTO에 나오는

canonical 방식의 HOST 통신 프로그램을 만들려고 하는데....

아래의 예제 소스에서....

/dev/ttyS0 가 open() 이 안되고..

file descriptor도 리턴하지 않고.. 멈추는데요..

root로 실행하거든요..

무엇이 문제일까요?

전혀 감이 안잡히네요....


###################################################################
#include
#include
#include
#include
#include

/* Baudrate 설정은 에 정의되어 있다.
/* 에서 include된다. */
#define BAUDRATE B115200
#define MODEMDEVICE "/dev/ttyS0"
#define _POSIX_SOURCE 1 /* POSIX 호환 소스 */

#define FALSE 0
#define TRUE 1

volatile int STOP=FALSE;

main()
{
int fd,c, res;
struct termios oldtio,newtio;
char buf[255];

/* 읽기/쓰기 모드로 모뎀 장치를 연다.(O_RDWR)
데이터 전송 시에 -C 문자가 오면 프로그램이 종료되지 않도록
하기 위해 controlling tty가 안되도록 한다.(O_NOCTTY)
*/
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );

if (fd <0) {
perror(MODEMDEVICE);
exit(-1);
}

..............

close(fd);
}
###################################################################