Simplificando, você quer controlar o DTR e o RTS independentemente, certo?
Sim, é possível.
No windows:
void SerialPort::setRTS( bool value )
{
if ( isOpen() )
{
QMutexLocker locker( &d->mutex );
if ( value )
::EscapeCommFunction( d->handle, SETRTS );
else
::EscapeCommFunction( d->handle, CLRRTS );
}
}
void SerialPort::setDTR( bool value )
{
if ( isOpen() )
{
QMutexLocker locker( &d->mutex );
if ( value )
::EscapeCommFunction( d->handle, SETDTR );
else
::EscapeCommFunction( d->handle, CLRDTR );
}
}
No linux:
void SerialPort::setRTS( bool value )
{
if ( d->fd != -1 )
{
QMutexLocker locker( &d->mutex );
int status = 0;
::ioctl( d->fd, TIOCMGET, &status );
if ( value )
status |= TIOCM_RTS;
else
status &= ~(TIOCM_RTS);
::ioctl( d->fd, TIOCMSET, &status );
}
}
void SerialPort::setDTR( bool value )
{
if ( d->fd != -1 )
{
QMutexLocker locker( &d->mutex );
int status = 0;
::ioctl( d->fd, TIOCMGET, &status );
if ( value )
status |= TIOCM_DTR;
else
status &= ~(TIOCM_DTR);
::ioctl( d->fd, TIOCMSET, &status );
}
}
Att.
Thiago A. Correa
2011/9/8 Alessandro Bispo dos Santos <pro...@gmail.com>:
> --
> Antes de enviar um e-mail para o grupo leia:
> http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar
> --~--~---------~--~----~---------------------------------~----------~--~----~
> [&] Colabore com a Pesquisa de Preferência de Conteúdo
> para Eventos do Grupo C & C++ Brasil:
> http://www.surveymonkey.com/s/GBBGTXN
> ------~----~-------~---~---~---~---~----------------~------------~---------~
> [&] C & C++ Brasil - http://www.ccppbrasil.org/
> Para sair dessa lista, envie um e-mail para
> ccppbrasil-...@googlegroups.com
> Para mais opções, visite http://groups.google.com/group/ccppbrasil
> --~--~---------~--~----~--~-~--~---~----~-----------------~--~----------~
> Emprego & carreira: vag...@ccppbrasil.org
> http://groups.google.com/group/dev-guys?hl=en
>