Accueil > Forum > > > > Récupérer deux mots de 8 bits par le port série
Récupérer deux mots de 8 bits par le port série
dimanche 24 avril 2005 à 22:46:34 |
Récupérer deux mots de 8 bits par le port série

duquep
|
Bonjour à tous,
Quelq'un pourrait m'aider! En deux mots, j'utilise un PIC 16F876 qui envoie deux mots de 8 bits afin de retransmettre une donnée analogique vers le pc par le port série voilà mon code: ---------------------------------------------------- Dim dat(3) Private Sub Command1_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If End
End Sub Private Sub Form_Load() Dim TempC n = 0 MSComm1.Settings = "9600,N,8,1" 'Set baud rate MSComm1.CommPort = 2 'Set comm port MSComm1.PortOpen = True 'Open comm port Form1.Visible = True 'Show the form Do Start: For n = 1 To 2 Do
DoEvents Loop Until MSComm1.InBufferCount > 0 dat(n) = Asc(MSComm1.Input) 'Store bytes in Array Debug.Print dat(n) ' Debug purposes only Next n Label1.Caption = dat(1) Label2.Caption = dat(2) Label3.Caption = (dat(1)*256)+dat(2) Loop End Sub
----------------------------------------------------- Mon problème est que lorsque je lance le programme, il ne synchronise pas toujours sur le premier mot d 8 bits!!!!! Quelqu'un pourrait-il m'aider??????? Pour que le programme s'ynchronise sur le premier mot au lancement de celui-ci!!!!
Merci d'avance
Phil
|
|
lundi 25 avril 2005 à 00:02:02 |
Re : Récupérer deux mots de 8 bits par le port série

jack
|
Ouh lala ! Attention Tu as imbriqué deux boucles l'une dans l'autre : Dans l'ordre, tu as : For - Do - Next - Loop Ca ne va pas du tout. Il faut impérativement que le Loop soit avant le Next Mais comme je ne sait pas ce que tu cherches à faire avec ces boucles, difficile de t'aider à restructurer. (et en regardant mieux, il y a plus de Do que de Loop ! je me demande comment VB peut se lancer !)
Si tu veux lire les données numériques issues du port Com, je te conseille de ne pas te compliquer la vie : lis les caractères et traite-les après. Dans ton cas, tu dimensionnes ton tableau à trois données. Et si le port Com en envoie plus, que se passe t-il ? le programme se plante ou bien ton tableau est écrasé : dans les deux cas, tu perds des données : c'est peut-être ce qui t'arrive.
Ce qu'il faut que tu saches, c'est que quand tu mets 'MSComm1.Input', ça lit toutes les données, mais aussi, ça vide le buffer : Donc si tu n'exploites pas toutes les infos reccueillies, tu en perdras, c'est sûr. Donc, fait ça en deux temps : -1- Lit les données et stocke-les -2- Analyse tes données après
' Variable de réception Dim Données As String ' Attend les données Do While MSComm1.InBufferCount = 0 DoEvents Loop ' Lecture des données Données = MSComm1.Input ' Analyse des données For r = 1 To Len(Données) ' 1 est le 1er caractère .. Debug.Print "r = "; r; " --> "; Asc(Mid(Données, r, 1)) Next r
Pour le reste, à toi de voir ce que tu vas faire de ces chiffres.
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
|
|
lundi 25 avril 2005 à 18:09:07 |
Re : Récupérer deux mots de 8 bits par le port série

duquep
|
Merci pour ton aide fructueuse!
La seule chose que je puise encore te demander, enfin si tu veux bien....
Comment dois-je faire pour afficher ces deux "mots" dans 2 label.En effet mon composant n'envoie que deux valeurs et j'aimerais qu'il lise ces deux valeurs en boucle.
Un tout tout grand merci.
PS voici le ligne du programme de mon composant électronique qui envoie les données :
serout PortC.6,84,[VAR1.HighByte,VAR1.LowByte]
Phil
|
|
lundi 25 avril 2005 à 18:09:23 |
Re : Récupérer deux mots de 8 bits par le port série
|
Cette discussion est classée dans : port, mots, mscomm1, bits, dat
Répondre à ce message
Sujets en rapport avec ce message
lecture des mots et bits du port parallele au secour !!!!! [ par bruno ]
bonjour quelqu'un pourrais t il me donner la marche a suivre pour pouvoir lire des infos envoyer par des contacts sec sur le port *LPT de ma machineje
Problème d'emission de données sur un port série [ par Lolo ]
Plusieurs collègues et moi même avont constaté un bug du contrôle activeX MSComm32.ocxEn effet lors de l'envoi de données sur le port série en XOn Xof
Problème d'emission de données sur un port série [ par Lolo ]
Plusieurs collègues et moi même avont constaté un bug du contrôle activeX MSComm32.ocxEn effet lors de l'envoi de données sur le port série en XOn Xof
Envoyer/Recevoir sur Port Com [ par FrenchTouch ]
Salut !J'essaye de récupérer des données sur un appareil branché sur port com. J'ai mis le téléphone (icône) sur ma form et après je sais plus quoi fa
Port com 2,3 et 4 [ par lamarine ]
Bonjour à tous,J'ai ouvert un port com1 comme suit :MSComm1.CommPort = 1 ' Utiliser com1 MSComm1.Settings = "115200,N,8,1" '
Port imprimante de 16 à 32 bits [ par bigsquale ]
salut,En vb3, mon prog utilise l'api 16 bits Writecomm(port,textimp,Len(textimp)) pour une impression au fil de l'eau sur papier tractable (aiguille))
VB6 et MSCOMM [ par nazzguhl ]
Bonjour,j'ai un problème avec MSCOMM en protocole RTS en Qbasic ça marche et en VB6 non!Mon problème envoyer des info sur le port com pour un programm
(débutant) Pb avec Numérotateur Tél. sous vb6... [ par nesco25 ]
Bonjour à tous(tes),je viens de réaliser un petit numérotateur téléphonique avec vb6 sous xp (modem analogique USRobotics)Le problème est que je peux
petit problême avec mscomm! [ par ulmi ]
Salut à tous, je viens juste de débuter avec vb et je dois faire une petite appli qui communique avec le port série.j'utilise donc le contrôle MsComm.
Lire info du port com [ par vlef0186 ]
Bonjour a tousVoila g un petit soucis pour lire les info d'une interface de 4 capteurs de temperatureje me suis renseigne sur le net et g trouver ca:P
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|