FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
réception de donnée
réception de donnée
Débuté par gattofred, 07 déc. 2005 10:37 - 2 réponses
Connectez-vous…
gattofred
#1
Posté le 07 décembre 2005 - 10:37
bonjour je suis en train de développer un logiciel qui par la liaison série doit récupérer des trames de longueur différentes et les traiter. Mes trames peuvent passer de 2 octets à 12 octets mais toujours avec 1 octet d'adresse pui un code de fonction sur un octet puis 1 à 10 octet de données selon la fonction .
est ce que le code de l'assitant de port série peut gérer cela et comment faire
PROCEDURE reception(portchoisi)
code_donnee est une chaîne
adresse est une chaîne
wtaille est un entier
FlagOK est un booléen
wtaille2 est un entier
wtaille2=0
flagun est un booléen
FinTimer(1)
wtaille=sDansFileEntrée(portchoisi)
FlagOK=Faux
flagun=Faux
// Lecture des informations sur le port série en fonction de la condition d'arrêt
SI wtaille<>0 ALORS
TANTQUE PAS FlagOK
wtaille=sDansFileEntrée(portchoisi)
SI wtaille>wtaille2 ALORS
wtaille2=wtaille
flagun=Faux
SINON
SI flagun ALORS
FlagOK=Vrai
SINON
flagun=Vrai
Multitâche(50)
FIN
FIN
FIN
g_buffer=sLit(portchoisi,wtaille)
FIN
adresse = g_buffer[[A 8]]
SI adresse = Caract(0x80) ALORS
code_donnee = g_buffer[[9 A wtaille]]
FIN
et ensuite coment faire pour regarder en permanence si des données arrivent sur le port et les traiter pour les afficher ensuite.
donc j'ai une fenetre gérant une lecture de feux de voiture et selon la trame arrivant sur le port j'affche tel ou tel feu ds ma fenetre ou plusieurs feu.
Merci d'avance je bloque sur comment faire une routine qui regarde en permanence le port en reception
Signaler
0
0
no
#2
Posté le 07 décembre 2005 - 11:42
Encore mieux que le Timer : fonction sévenement.
Elle permet d'avoir une "call back" qui gère tout ce qui arrive sur le port !
A+
Signaler
0
0
vincent.barre-sanspub
#3
Posté le 07 décembre 2005 - 12:17
Bonjour,
Utilise un timer :
NumTimer = Timer("Procedure_Timer",10)
//-----------------
PROCEDURE Procedure_Timer
si sDansFileEntrée(portchoisi) > 2 alors Lit_Port()
@+
Vincent Barré
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte