begin process at 2010 09 04 22:24:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

PPC :: WCE 3.0 :: EVB

 > ENVOIS D'UNE COTE VIA RS 232

ENVOIS D'UNE COTE VIA RS 232


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :PPC :: WCE 3.0 :: EVB Classé sous :rs232, port, série, communication, checksum Niveau :Débutant Date de création :18/06/2003 Date de mise à jour :18/06/2003 13:46:58 Vu :11 616

Auteur : benbax

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Ce code envoie une impulsion reçue en cm, via RS 232.
Une valeur supérieure à 255 sera decoupée, et envoyé, un checksum permet de vérifer la trame envoyée.

Source

  • Private Sub Send(impulsion As Integer)
  • Dim MSB As Byte, LSB As Byte, CHKSUM As Byte
  • Dim tmp, heure, I
  • Dim vdist As Integer, vdimmin As Integer
  • Dim recu, tmpstr As String
  • tmp = 0
  • vdist = dist / 10
  • vdimmin = dimmin
  • impulsion = (impulsion * 10) - vdimmin
  • impulsion = Int((200 / vdist) * impulsion)
  • 'Decoupage de l'impulsion car > a 255
  • MSB = Int(impulsion / 256)
  • LSB = Int(impulsion - (MSB * 256))
  • If LSB = 0 Then
  • LSB = LSB + 1
  • End If
  • CHKSUM = MSB + LSB
  • 'Pour eviter un Checksum erronné
  • While CHKSUM > 255
  • CHKSUM = CHKSUM - 256
  • Wend
  • 'debug de verification
  • 'MsgBox "MSB : " & MSB
  • 'MsgBox "LSB : " & LSB
  • 'MsgBox "Check Sum : " & CHKSUM
  • 'J'effectue ici nu petite boucle d'envoi x10, car timeout non codé
  • Do While tmp <> 10
  • 'Interdiction des interuptions sur le port
  • Comm1.RThreshold = 0
  • 'Le caractere "D" symbolise le debut de la trame
  • Comm1.Output = "D"
  • Comm1.Output = Chr(MSB)
  • Comm1.Output = Chr(LSB)
  • Comm1.Output = Chr(CHKSUM)
  • tmp = tmp + 1
  • I = 0
  • Effectue = ""
  • 'Attente d'une reponse (p'tite bidouille)
  • Do While I < 500
  • Effectue = Comm1.Input
  • If Effectue <> "" Then Exit Do
  • I = I + 1
  • Loop
  • 'Remise en marche des interruptions sur le port
  • Comm1.RThreshold = 1
  • If Effectue = "O" Then Exit Sub
  • Loop
  • 'si 10 envois ont été tentés sans réponse reçue : y'a un prob
  • If tmp = 10 Then
  • MsgBox "Un problème empêche la transmission.", vbCritical, "Delai d'attente dépassé !"
  • Exit Sub
  • End If
  • End Sub
Private Sub Send(impulsion As Integer)
Dim MSB As Byte, LSB As Byte, CHKSUM As Byte
Dim tmp, heure, I
Dim vdist As Integer, vdimmin As Integer
Dim recu, tmpstr As String
    
tmp = 0
vdist = dist / 10
vdimmin = dimmin

impulsion = (impulsion * 10) - vdimmin
impulsion = Int((200 / vdist) * impulsion)

'Decoupage de l'impulsion car > a 255
MSB = Int(impulsion / 256)
LSB = Int(impulsion - (MSB * 256))

If LSB = 0 Then
    LSB = LSB + 1
End If

CHKSUM = MSB + LSB

'Pour eviter un Checksum erronné
While CHKSUM > 255
  CHKSUM = CHKSUM - 256
Wend

'debug de verification
'MsgBox "MSB : " & MSB
'MsgBox "LSB : " & LSB
'MsgBox "Check Sum : " & CHKSUM

'J'effectue ici nu petite boucle d'envoi x10, car timeout non codé
Do While tmp <> 10

'Interdiction des interuptions sur le port
    Comm1.RThreshold = 0

'Le caractere "D" symbolise le debut de la trame
    Comm1.Output = "D"
    Comm1.Output = Chr(MSB)
    Comm1.Output = Chr(LSB)
    Comm1.Output = Chr(CHKSUM)
    
    tmp = tmp + 1
    I = 0
    Effectue = ""

'Attente d'une reponse (p'tite bidouille)
    Do While I < 500
      Effectue = Comm1.Input
      If Effectue <> "" Then Exit Do
      I = I + 1
    Loop
'Remise en marche des interruptions sur le port
    Comm1.RThreshold = 1

    If Effectue = "O" Then Exit Sub
Loop

'si 10 envois ont été tentés sans réponse reçue : y'a un prob
If tmp = 10 Then
    MsgBox "Un problème empêche la transmission.", vbCritical, "Delai d'attente dépassé !"
    Exit Sub
End If
End Sub
 

 Conclusion

Un grand merci a b00mrang et BadProcESs sans qui mon programme ne tournerai pas aujourd'hui.

cette partie de code fonctionne avec mon programme, il peut donc manquer la définitions de certaine variable globale....


 Sources du même auteur

TRI D'UN TABLEAU DE VALEUR DANS L'ORDRE CROISSANT
GERER L'ÉVÈNEMENT ONCOMM D'UNE LIAISON

 Sources de la même categorie

Source avec Zip ECRITURE D'UN FICHIER ANSI PAR LES API par christo31
Source avec Zip Source avec une capture SIMPLIFER VOS RACINES CARRÉES SUR PPC (CODE EVB) par JoVB
Source avec Zip Source avec une capture UTILISER LES FICHIERS TXT par RV57000
Source avec Zip Source avec une capture UN RÉPERTOIRE TÉLÉPHONIQUE par patoch
Source avec Zip CONTROLE DE COHÉRENCE (CB, COMPTE BANCAIRE/POSTAL, SÉCU) par Nicolas21

Commentaires et avis

Commentaire de SylMat le 18/06/2003 14:11:12

Personnellement je trouve que pour une première fois c'est pas mal du tout. bonne continuation Ben.

Commentaire de NHenry le 07/02/2006 10:36:30

c'est quoi Comm1 (son type)?
Je cherche à envoyer des données sur un port COM de PocketPC avec C#.NET.

Commentaire de benbax le 10/02/2006 01:45:17

Ha en effet, ce n'est pas précisé ici, et il y a longtemps que j'ai fait ce code...

De mémoire "Comm" fait référence à une sorte de classe (en mémoire au C++) dans laquelle se trouve toute les méthode nécessaire à l'utilisation d'un port de communication. certains attributs de cette classe sont à initialiser au début du programme...

Maintenant, il y a longtemps que je ne programme plus, et j'ai même perdu le vocabulaire, donc, j'espère que mon explication, si succinte soit-elle, pourra te dépanner...

Commentaire de NHenry le 10/02/2006 08:15:45

Merci des explications, en recherchant un (long) petit moment, j'ai fini par trouver ce qui me fallait..
Merci de ta réponse.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème gestion port série PDA [ par Arzad69 ] Bonjour,Je cherche à créer liaison entre un module Bluetooth (ARF 32) et un PDA (HTC Touch Cruise). Je configure le module et gère ses phases émission Communication entre windows ce et windows [ par PtitRun ] Bonjour ! Je cherche le moyen le plus fiable pour faire communiquer une application windows ce et windows. Cette communication ne sera pas que de l' Est-ce que le port USB d'un PDA peut alimenter un élément passif? [ par juju1569 ] Bonjour à tous. Dans le cadre d'un projet de fin d'études, j'aurais voulu me servir du port USB d'un smartphone pour alimenter un micro-contrôleur, lu Connexion RAS sur COM1 + ActiveSync [ par paco877 ] Bonjour, je développe une appli en C/C++ qui permet de créer une entrée RAS (Connexion réseau) sur Windows CE 5.0. Cette entrée est reliée à au modem envoie de données en hexa par port serie d'un PDA [ par yzmeg ] Bonjour @tous,je cherche à interfacer un PDA (iPAQ) avec un capteur dont les instructions doivent être donné en hexadecimale.cela fait 3 jours que je Prise série des pocket PC [ par timo76 ] Bonjour à tous,je dois développer une interface IHM sur Pocket Pc qui doit dialoguer avec un système externe via une RS232.Plusieurs questions:- Est-c Problème de Lecture du code d'une télécommande [ par RcrivelliNET ] Bonjours à tous,je cherche a lire le code d'une télécomande de télévision via le port IrDa de mon IPAQ 1915 (Port com 3).je travail sur eVB 3.0.j'ai u Avant de partir en FreeStyle [ par fred23 ] Bonjour,Je voudrais piloter mon modem 3com depuis une Pocket PC du type Ipack ou autre.Donc plusieurs questions:Quel outils de dev VB employer.?Existe PDA utilisé comme console de chargement pour automates [ par jaymond ] je sohaite réaliser une appli speciale pour charger des parametres dans un automate.Partant d'un PDA PalmOS par une liaison serie ?? bluetooth ou IR o communication PDA -> téléphone -> net [ par sozie9372 ] Salut,Je suis un novice en ce qui concerne bluetooth. Je veux connecter un PDA à un téléphone (via bluetooth evidement) afin que le téléphone serve de


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales