реклама на сайте
подробности

 
 
> при приеме через tty заменяется 0A на 0D0A.
Andy Sm.
сообщение Apr 7 2011, 15:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 27-11-07
Пользователь №: 32 718



На i.mx233 такая фигня происходит.
Понятно что что то не настроено в termios.
Крутил разные битики но без особого успеха. =(

Может кто сталкивался?

собственно, задача raw поток принимать и передавать.

код ниже...

int m_setparms(int fd, int baud)
{
int spd = 0;
int error;

struct termios tty;

error = tcgetattr(fd, &tty);
if (error == -1) {
return error;
}


switch (baud) {
case 0: spd = B0; break;
case 300: spd = B300; break;
case 600: spd = B600; break;
case 1200: spd = B1200; break;
case 2400: spd = B2400; break;
case 4800: spd = B4800; break;
case 9600: spd = B9600; break;
case 19200: spd = B19200; break;
case 38400: spd = B38400; break;
case 57600: spd = B57600; break;
case 115200: spd = B115200; break;
case 230400: spd = B230400; break;
case 460800: spd = B460800; break;
case 500000: spd = B500000; break;
case 576000: spd = B576000; break;
case 921600: spd = B921600; break;
case 1000000: spd = B1000000; break;
case 1152000: spd = B1152000; break;
case 1500000: spd = B1500000; break;
case 2000000: spd = B2000000; break;
case 2500000: spd = B2500000; break;
case 3000000: spd = B3000000; break;
case 3500000: spd = B3500000; break;
case 4000000: spd = B4000000; break;
}

if (spd != -1) {
cfsetospeed(&tty, (speed_t)spd);
cfsetispeed(&tty, (speed_t)spd);
}

tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS8;

/* Set into raw, no echo mode */
tty.c_iflag = IGNBRK;
tty.c_lflag = 0;
tty.c_oflag = 0;
tty.c_cflag |= CLOCAL | CREAD;
tty.c_cc[VMIN] = 0;
tty.c_cc[VTIME] = 0;

tty.c_iflag &= ~(IXON|IXOFF|IXANY);

tty.c_cflag &= ~(PARENB | PARODD);
tty.c_cflag &= ~CSTOPB;

error = tcsetattr(fd, TCSANOW, &tty);

return error;
}

Сообщение отредактировал Andy Sm. - Apr 7 2011, 16:23
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 19:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016