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.