Почему настройки порта TTYUSB0 также меняют настройки моего стандартного выхода

У меня есть встроенная плата Atmel ARM926, для которой я создал последовательный USB-носитель для получения данных от FTDI как USBtty0. Эта плата также имеет DBGU последовательного порта, который используется в качестве консольного терминала, который обычно работает на 230 КБ. Когда я настраиваю порт USBtty0 на требуемые 115 КБ, DBGU, очевидно, также меняется на 115 КБ.

if( m_fdELMdev = open(m_ELMdevice, O_RDWR | O_NOCTTY )< 0)
{//error
}
else
{
// Configure the port
tcgetattr(m_fdELMdev, &dev_settings);
dev_settings.c_cflag |= B115200;
cfmakeraw(&dev_settings);
}

Может кто-нибудь сказать мне, что я могу делать неправильно?
Это фрагмент моего устройства.

/dev/tty         c     640     0     0        4      0       0      1      4
/dev/tty         c     640     0     0        5      0       -      -      -
/dev/ttyGS       c     640     0     0      252      0       -      -      -
/dev/ttyS        c     640     0     0        4     64       0      1      3
/dev/watchdog    c     640     0     0       10    130       -      -      -
/dev/zero        c     640     0     0        1      5       -      -      -
/dev/ttyACM0     c     640     0     0      166      0       -      -      -
/dev/ttyUSB0     c     640     0     0      188      0       -      -      -

Кроме того, я иногда вижу некоторые «Прерванные системные вызовы» из списка избранных. Как мне нужно справиться с этим? Повторять ли выбор, пока не получу какие-либо данные? Тогда что, если я никогда не получу никаких данных?

enter code here
do
{
iret = select(m_fdELMdev + 1, &fdrefid, NULL, NULL, &porttime);
switch(iret)
{
case READ_TIMEOUT:
ierr = -1;
break;

case READ_ERROR:
g_dbg->debug("CACS_Elm327::Select error:%s (%d)\n",strerror(errno), errno);
ierr = -1;
break;

default:
iret = read(m_fdELMdev, data, ilen);
g_dbg->debug("CACS_Elm327::Readport_ELM:read %s %d\n", data, iret );
break;
}
}while((ierr == 0) && (iret<ilen) );

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]