물론 termios.h
이 있습니다. 그러나 여기서 나는 AT
명령에 대해 말하고 있습니다. 나는 그들이 을에 처형 시키길 원합니다.C - Linux를 통해 직렬 포트로 AT 명령을 보내는 방법
의 C
을 통해 직렬 포트로 AT 명령을 보내어 어떻게 실행합니까??
물론 termios.h
이 있습니다. 그러나 여기서 나는 AT
명령에 대해 말하고 있습니다. 나는 그들이 을에 처형 시키길 원합니다.C - Linux를 통해 직렬 포트로 AT 명령을 보내는 방법
의 C
을 통해 직렬 포트로 AT 명령을 보내어 어떻게 실행합니까??
이 간단한 예를 봐 (그것은 작동) :
struct termios options;
int fd;
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd < 0)
{
printf("Error opening serial port\n");
exit(1);
}
bzero(&options, sizeof(options));
options.c_cflag = B9600 | CS8 | CLOCAL | CREAD | IGNPAR;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &options);
if (write(fd, "ATZ\r", 4) < 4)
{
printf("Write error - %s \n", strerror(errno));
exit (1);
}
// read back for OK or KO then do your stuff...
감사합니다, 나는 포트 구분하는 방법을 궁금 해서요 명령과 텍스트 사이. –
모뎀과 통신하는 것은 Hayes 방법입니다. 이 명령은 형식에 따라 앞에 붙은 AT 명령을 구별합니다. Serial_Programming에 대한 아래 답변의 링크를 확인하십시오. –
@DaneBalia 후속 조치를 보내 주셔서 감사합니다. –
이 우연히 발견, 도움이 될 수 있습니다 :
또한http://en.wikibooks.org/wiki/Serial_Programming/Serial_Linux
C 고급 리눅스 프로그래밍에 대한 확실한 가이드 http://www.advancedlinuxprogramming.com/alp-folder/
그리고 AT 명령에 대해 좀 더 배우려면 V.250 표준 (http://www.itu.int/rec/T-REC-V.250-200307-I/en)을 읽어보십시오. – hlovdal
이 명령을 텍스트로 보내면됩니다. – lqs
장치는 * nix에있는 파일입니다. 직렬 포트를 파일로 열어 읽기/쓰기를 시도해보십시오. –
[C와 시리얼 포트 읽기 및 쓰기] 가능한 복제본 (http://stackoverflow.com/questions/3452359/serial-port-reading-and-writing-with-c) –