termios configurações após o fechamento do arquivo

3

As configurações alteradas pelas funções de termios.h são mantidas depois que o arquivo é fechado e aberto novamente?

Eu quero usar a comunicação serial em uma linguagem de nível superior (Racket) que expõe somente leitura e gravação de / para portas de arquivo, mas nenhuma funcionalidade adicional ( termios , ioctl , fnctl ). Eu posso usar o FFI para ligar essas funções adicionais e usá-las, mas então eu preciso fechar o arquivo e abri-lo novamente para ler / escrever com a funcionalidade Racket - daí a minha pergunta.

    
por Bartosz 01.02.2015 / 22:22

1 resposta

1

A maioria das configurações de termios , como a taxa de transmissão, são mantidas mesmo quando uma porta serial é fechada. No entanto, fechar uma porta serial tem alguns efeitos que você pode não querer, como desmarcar DTR.

No entanto, você deve ser capaz de manter a porta serial aberta em seu aplicativo e evitar efeitos indesejáveis, incluindo evitar a perda de qualquer alteração nas configurações que possam ser redefinidas ao fechar. Apenas abra a porta em Racket primeiro; em seguida, use a funcionalidade FFI para fazer o que você precisar, ioctl e fcntl , o que pode envolver a abertura da porta serial uma segunda vez e fechar a segunda referência; então use a referência que você originalmente abriu da Racket. Além disso, você pode até obter o descritor de arquivo diretamente do Racket e usá-lo para o FFI sem abrir a porta serial uma segunda vez - não tenho certeza sobre isso porque não sei o que é Racket.

    
por 02.02.2015 / 03:36