Port série dans un cadre compact - RTSEnable et DtrEnable
-
03-07-2019 - |
Question
Comment RTSEnable
et DtrEnable
sont-ils utilisés? Je constate que certaines balances peuvent communiquer avec mon application, mais que d'autres ne le peuvent pas même si les paramètres correspondent. (débit en bauds, parité, bits de données, bits d’arrêt et établissement de liaison)
Les paramètres du port série sont enregistrés dans le fichier de configuration. L'idée est de prendre en charge différentes combinaisons des paramètres possibles, si nécessaire. Normalement, nos appareils sont programmés pour avoir handshake = NONE
, mais au cas où un périphérique étrange ne pourrait pas avoir handshake = NONE
, devrais-je insérer une condition telle que:
if (serialport.Handshake != NONE) {
serialport.RTSEnable = true;
serialport.DtrEnable = true;
}
Ou plutôt, d'autres poignées de main (autres que NONE
) fonctionnent-elles sans que RTSEnable
et DtrEnable
soient réglés sur true
?
La solution
La nécessité de la négociation matérielle est uniquement basée sur le périphérique série auquel vous vous connectez. Vous devez lire les spécifications OEM du périphérique et voir si le périphérique nécessite une prise de contact et s'il nécessite un traitement spécial de RTS ou DTR.