SerialPort petite question..

Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008 - 31 déc. 2007 à 14:48
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008 - 2 janv. 2008 à 13:56
Bonjour à tous voila je débute à peine avec vb et je voudrais savoir comment faire par l'intermédiaire d'un SerialPort un statut de connection (connecter ou déconnecter) pour mon RS232-Infrared-Transceiver de Asuro (un petit robot suiveur de ligne)..Merci!!!
J'ai VB 2005 Express

9 réponses

cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
31 déc. 2007 à 14:59
Salut,
Tu peux te servir de l'etat d'une des entrées du port comm (CD,CTS ou DSR)

@+
Megafan
0
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008
31 déc. 2007 à 15:00
Pourre tu m'expliquer plus en détails et est ce que ce code me serais nécessaire?
http://www.vbfrance.com/codes/UTILISATION-PORT-COM-VS2005_42181.aspx
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
31 déc. 2007 à 15:21
Salut,
Le port comm est pas très compliqué..
Tu peux largement t'en servir en mini cate d'E/S (avec 2 S et 3 E), mais ça suffit largement.

Ajoute un controle SerialPort: à ton application (tu le renommes SerialPort pour l'exemeple ci dessous)

 - Tu ouvre ton port comm (pas besoin de l'initialiser si tu utilises pas TD/RD)

SerialPort.open()

- Tu montes (ou descend) tes sorties (dtr ou rts) en faisant

SerialPort.dtrEnble=true ou SerialPort.rtsenable=false

- Si tu veux utiliser les entrées du port comm, tu codes dans l'evenement PinChanged 

Private Sub SerialPort_PinChanged(ByVal sender As Object, ByVal e As System.IO.Ports.SerialPinChangedEventArgs) Handles SerialPort.PinChanged

- exemple tu veux detecter un changement d'etat sur cd, tu utilise
if  e.eventype=io.pots.serialpinchange.cdchange then

- et tu testes le niveau

if serialPort.CDHolding = True

tu peux utiliser en entrée CD, CTS ou DSR

un truc tout simple tu soude une led sur dtr + masse et tu l'alume ou tu l'eteint, tu peux aussi te servir de se niveau pour alimenter une des entrée et ainsi tester tes niveaux, cout de l'interface ..... 2 centimes d'Euros.

@+
Megafan
0
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008
31 déc. 2007 à 18:46
Public Class Asuro_connect

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SerialPort.Open()
        SerialPort.DtrEnable = False

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If SerialPort.IsOpen Then
            Label1.Text = (" Asuro Connecté")
        Else : Label1.Text = ("Non connecté")

        End If
    End Sub

End Class

Voici mon code est-il correct?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008
1 janv. 2008 à 19:11
Dsl du double post mais le code ci dessus ne marche pas je voudrais savoir pourquoi?Merci
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
1 janv. 2008 à 19:37
Salut,
Tu test si ton port comm est ouvert... ce qui est fait par la méthode .open().

- sur quelle pin est connecté ton 'Asuro' ?
- t'envoi t'il du +12v ou du -12v quand il est connecté ?

@+
Megafan
0
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008
1 janv. 2008 à 20:21
Dsl d'être un noob mais comment je fais pour savoir tout ceci?merci
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
2 janv. 2008 à 09:11
Salut,
Si vraiment tu ne sais pas sur quoi est relié ton robot sur quelle broche du port série, si c'est une entrée ou une sortie, le niveau que tu veux tester ou envoyer, alors je peux pas faire grand chose pour toi......
Désolé
@+
Megafan
0
Vador7789 Messages postés 17 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 30 janvier 2008
2 janv. 2008 à 13:56
Connecté sur port COM1 et il m'envoie 12volt après voici la configuration de mon RS232:
• Bits pro Second: 2400
• Databits: 8
• Parity: none
• Stopbits: 1
• Flowcontrol: none
0
Rejoignez-nous