도와주세요!!
글 수 15,339
2006.06.27 22:52:00 (*.237.123.113)
6679
해도 해도 안되길래..
메뉴얼 젤 마지막에있는..
시리얼 소스로 테스트 해볼려구 해봤습니다..
소스내용입니다..
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <termios.h>
#include <sys/ioctl.h>
int main(int argc, char **argv)
{
int handle;
struct termios oldtio, newtio;
char *TitleMessage="Welcome Serial Portn";
char Buff[255];
int RxCount, loop, ending;
handle = open("/dev/ttyS00", O_RDWR | O_NOCTTY);
if(handle < 0)
{
printf("Serial Open Failn");
exit(0);
}
tcgetattr(handle, &oldtio);
memset(&newtio, 0, sizeof(newtio));
newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
// newtio.c_lflag = ICANON;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 30;
newtio.c_cc[VMIN] = 0;
tcflush(handle, TCIFLUSH);
tcsetattr(handle, TCSANOW, &newtio);
write(handle,TitleMessage,strlen(TitleMessage));
ending=0;
while(!ending)
{
RxCount = read(handle,Buff,1);
if(RxCount==0)
{
printf("Time outn");
continue;
}
if(RxCount < 0)
{
printf("Read Errorn");
break;
}
for(loop=0; loop<RxCount; loop++)
{
printf("Read Data [%c]n",Buff[loop]);
if(Buff[loop]==0x1b)ending=1;
}
write(handle, Buff, RxCount);
}
tcsetattr(handle, TCSANOW, &oldtio);
close(handle);
return 0;
}
보드에서 실행시키면..
계속 Time out만 나옵니다..
이걸로 봐서는 포트는 열리는데
전송이 안되는것 같은데요...
어떻게 테스트해볼수도 없고..
계속 소스만 이리고치고 저리 고쳐서 삽질만 하고잇습니다..ㅠ.ㅠ
메뉴얼 젤 마지막에있는..
시리얼 소스로 테스트 해볼려구 해봤습니다..
소스내용입니다..
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <termios.h>
#include <sys/ioctl.h>
int main(int argc, char **argv)
{
int handle;
struct termios oldtio, newtio;
char *TitleMessage="Welcome Serial Portn";
char Buff[255];
int RxCount, loop, ending;
handle = open("/dev/ttyS00", O_RDWR | O_NOCTTY);
if(handle < 0)
{
printf("Serial Open Failn");
exit(0);
}
tcgetattr(handle, &oldtio);
memset(&newtio, 0, sizeof(newtio));
newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
// newtio.c_lflag = ICANON;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 30;
newtio.c_cc[VMIN] = 0;
tcflush(handle, TCIFLUSH);
tcsetattr(handle, TCSANOW, &newtio);
write(handle,TitleMessage,strlen(TitleMessage));
ending=0;
while(!ending)
{
RxCount = read(handle,Buff,1);
if(RxCount==0)
{
printf("Time outn");
continue;
}
if(RxCount < 0)
{
printf("Read Errorn");
break;
}
for(loop=0; loop<RxCount; loop++)
{
printf("Read Data [%c]n",Buff[loop]);
if(Buff[loop]==0x1b)ending=1;
}
write(handle, Buff, RxCount);
}
tcsetattr(handle, TCSANOW, &oldtio);
close(handle);
return 0;
}
보드에서 실행시키면..
계속 Time out만 나옵니다..
이걸로 봐서는 포트는 열리는데
전송이 안되는것 같은데요...
어떻게 테스트해볼수도 없고..
계속 소스만 이리고치고 저리 고쳐서 삽질만 하고잇습니다..ㅠ.ㅠ