Ele é especificado no Bloco de controle de dispositivos no Win32. Veja o membro EvtChar
.
Ao enviar apenas alguns bits de dados via cabo FTDI USB-Serial para o PC, você deve aguardar uma das seguintes condições antes de obter seus dados de acordo com os FTDI's AN232B-04, Fluxo de latência de dados :
Eu quero usar a opção 3, ativar um caractere de evento e também defini-lo. Como faço isso no Windows 7? Não consigo encontrar nenhuma documentação sobre isso. Eu não quero ter que escrever código para fazer isso, eu só quero saber onde no meu sistema operacional (Windows 7) eu poderia alterar essas configurações.
Ele é especificado no Bloco de controle de dispositivos no Win32. Veja o membro EvtChar
.
Sei que a pergunta original era sobre o Windows, mas aqui estão as instruções para outros sistemas operacionais:
Mac OS-X
Para o cronômetro de latência - Após instalar o driver, faça uma cópia de backup e edite o arquivo /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
. Encontre a seção para o seu dispositivo, por exemplo,
<key>FTDI2XXBM</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
E adicione o seguinte após o acima
<key>ConfigData</key>
<dict>
<key>LatencyTimer</key>
<integer>1</integer>
</dict>
Eu suspeito que isso também funcionaria para o caractere do evento, mas não tenho certeza do <key>
correto a ser usado.
Linux
O kernel Linux que vem com o Ubuntu 14.04 (Linux 3.13.0-24-generic) já define o temporizador de latência como 1ms por padrão. No entanto, os parâmetros estão disponíveis para alteração via sysfs
. Localize seu dispositivo em /sys/bus/usb-serial/devices
$ ls /sys/bus/usb-serial/devices/
ttyUSB0
$ ls /sys/bus/usb-serial/devices/ttyUSB0
driver event_char latency_timer port_number power subsystem tty uevent
Você pode definir o caractere do evento ecoando um valor para event_char
. O valor é o valor ASCII do caractere do evento (por exemplo, 'A' é 65) mais 256 (define o 9º bit como 1, o que habilita o suporte ao caractere de evento) - assim, para 'A' o valor é 65 + 256 = 321:
$ sudo -i
<authenticate>
# echo 321 > /sys/bus/usb-serial/devices/ttyUSB0/event_char
Para usar 0x00 como o caractere do evento, simplesmente passe o valor 256, enquanto para desativar o caractere do evento, passe o valor 0.
Você também deve poder modificar o cronômetro de latência dessa maneira. Veja o que está definido agora:
# cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
1
Agora desative o sinalizador low_latency, caso contrário, a latência sempre será forçada para 1:
# setserial /dev/ttyUSB0 ^low_latency
Em seguida, defina o temporizador de latência para, por exemplo, 4 ms
# echo 4 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
# cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
1
Mas acho que isso não é grande coisa, já que o padrão é o mínimo de 1 ms.