2009-07-08 7 views
1

J'ai fait beaucoup de travail RS232 en utilisant the .Net 2.0 serialport class. Je n'ai jamais eu de problème avec ça, jusqu'à aujourd'hui.Impossible de recevoir des données série dans .net 2.0, en utilisant le convertisseur rs232 vers rs485

Je communique avec une partie du matériel de l'entreprise qui utilise le protocole RS485. J'utilise un convertisseur RS232 à RS485 de B & B électronique.

Je peux envoyer des données très bien, et le voir reçu de l'autre côté. Cependant, mon événement data_received ne se déclenche JAMAIS, et même en utilisant BytesToRead je ne vois jamais rien revenir.

ReadExisting est également vide.

Nous avons lancé 232Analyzer, et je peux envoyer ET recevoir des paquets avec cette application. Je suppose que cela a quelque chose à voir avec la classe série .Net 2.0.

Des pensées du tout?

Répondre

5

Il se trouve (après des heures de recherche et d'essayer) que la mise en ceci:

.DtrEnable = True

a fait l'affaire. Je n'ai jamais eu besoin d'utiliser les propriétés DTR auparavant, mais si c'est un problème avec cet appareil avec lequel je travaille, ou quelque chose d'autre qui me manque - ça l'a fait. Je pensais que cela pourrait sauver quelqu'un d'autre un mal de tête sur la route.

+0

Vous pouvez également avoir besoin de ".RtsEnable = True". –

+0

Il est tout à fait possible que l'appareil ait besoin de voir DTR activé. DTR (Data Terminal Ready) est souvent utilisé à cette fin, car il informe tout périphérique connecté que, bien, il est prêt! Je ne serais pas surpris si l'appareil lui-même allume la ligne complémentaire à DTR, à savoir DSR (Data Set Ready) pour indiquer à quoi il est connecté qu'il est lui-même prêt. – Andy

1

Le code de port série dans 2.0 et 3.5 est connu pour être assez floconneux.

Diffuser et vous trouverez quelques problèmes connus - peut-être this one correspond à vos symptômes?

Questions connexes