Проблема с ttyS0 на OSK5912
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено rs 02 декабря 2005 г. 12:38

На OSK5912 установлен Linux 2.6.13 была написана тестовая програма для управления com-портом данную програму я тестировал на Fedora 3
все нормально работало :
передается сообщение, после чего все приятое выводится на экран

при переносе програмы на OSK5912 возникли такие глюки:
в большинстве случаев сом-порт нормально работает на перадачу но ничего не принимает


вот моя програма

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



#define BAUDRATE B9600
#define MODEMDEVICE "/dev/ttyS0"
#define _POSIX_SOURCE 1 /* POSIX compliant source */
#define FALSE 0
#define TRUE 1

volatile int STOP=FALSE;

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

fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd <0) {perror(MODEMDEVICE); exit(-1); }

tcgetattr(fd,&oldtio); /* save current port settings */

bzero(&newtio, sizeof(newtio));

newtio.c_cflag |= (CLOCAL | CREAD);

newtio.c_cflag &= ~PARENB;
newtio.c_cflag &= ~CSTOPB;
newtio.c_cflag &= ~CSIZE;
newtio.c_cflag |= CS8;
newtio.c_cflag &= ~CRTSCTS;

/* set input mode (non-canonical, no echo,...) */
newtio.c_lflag = 0;

newtio.c_cc[VTIME] = 0; /* inter-character timer unused */
newtio.c_cc[VMIN] = 5; /* blocking read until 5 chars received */

tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
/**/
fcntl(fd, F_SETFL, 0);
for(;;)
n = write(fd, " Hello omap Serial Port! ", 23);
if (n < 0)
fputs("write failed!\n", stderr);
/**/
while (STOP==FALSE) { /* loop for input */
res = read(fd,buf,5); /* returns after 5 chars have been input */
buf[res]=0; /* so we can printf... */
printf(":%s:%d\n", buf, res);
if (buf[0]=='z') STOP=TRUE;
}
tcsetattr(fd,TCSANOW,&oldtio);
}

Если кто сталкивался с подобной проблемой помогите разобраться.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru