Bien programmer en langage C
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

Projet CAN

2 participants

Aller en bas

Projet CAN Empty Projet CAN

Message  zakari Ven 23 Avr 2010 - 14:50

Bonjour,
je suis debutant en C ,en fait j'ai un projet sur la gestion des messages CAN(iso 15765-3 et -2) ,et j'ai du mal a programmer la structure de mon message.Je m'explique:
dans la couche application du protocol de communication on trouve un message char* d'une taille superieur a 8 bytes et dans la couche reseau on dois ajouter 3 bytes d'identification et on dois couper (le message+3bytes) à des paquet de 8 bytes.
mon probléme c'est que je sais pas d'ou commencer , si quelqu'un peut aider je serrai trés reconnaissant .

trés cordialement

zakari

Messages : 3
Date d'inscription : 23/04/2010

Revenir en haut Aller en bas

Projet CAN Empty Re: Projet CAN

Message  -ed- Dim 25 Avr 2010 - 5:59

zakari a écrit:Bonjour,
je suis debutant en C ,en fait j'ai un projet sur la gestion des messages CAN(iso 15765-3 et -2) ,et j'ai du mal a programmer la structure de mon message.Je m'explique:
dans la couche application du protocol de communication on trouve un message char* d'une taille superieur a 8 bytes et dans la couche reseau on dois ajouter 3 bytes d'identification et on dois couper (le message+3bytes) à des paquet de 8 bytes.
mon probléme c'est que je sais pas d'ou commencer , si quelqu'un peut aider je serrai trés reconnaissant .

trés cordialement
Un système de découpage de message en blocs de 3 octets n'est pas bien compliqué. Je propose que tu commences par ça...

Exemple :

On a un message de 10 octets : "abcdefghij" à émettre. On doit le découper de façon à émettre :

3 : "abc"
3 : "def"
3 : "ghi"
1 : "j"

évidemment, le dernier bloc a une taille de 1, 2 ou 3.

Une boucle avec un compteur de caractères restant à émettre et une avance par 3 devrait suffire. D'ailleurs, si on cherche bien, il y a un exemple de cet algorithme dans http://www.bien-programmer.fr/reseaux.php
-ed-
-ed-
Admin
Admin

Messages : 290
Date d'inscription : 26/05/2008
Age : 67
Localisation : Paris 14eme arrondissement (75, France)

http://bien-programmer.fr

Revenir en haut Aller en bas

Projet CAN Empty Re: Projet CAN

Message  zakari Lun 26 Avr 2010 - 11:12

Merci pour votre reponse "ed", je suis entrain de voir l'exemple des sockets.
dans mon projet je dois utiliser un driver virtuel Bus CAN (vector), et enplus je dois mettre des fct "Waitforsingleobjet" pour attendre la confirmation du serveur avant d'envoyer le packet suivant et je bloque dans cet etape, si quelqu'un a un exemple de code ou des infos
je le remercie infiniment.
Cordialement

vous trouvez ci-joint le VCAN.h que je dois utiliser
http://apfw.sourceforge.net/api/html/_v_can_d_8h-source.html

zakari

Messages : 3
Date d'inscription : 23/04/2010

Revenir en haut Aller en bas

Projet CAN Empty Re: Projet CAN

Message  -ed- Lun 26 Avr 2010 - 11:28

Le fonctionnement synchrone avec WaitForASingleObject() n'est pas très différend de l'usage de select() que je décris dans mon article. La programmation Windows n'est pas ma spécialité... Ceci-dit, je ne suis pas persuadé qu'il faille utiliser l'attente synchrone (lourd et complexe), car les sockets sont prévus pour un fonctionnement asynchrone (send and forget). A moins qu'il y ait à gérer un protocole d'acquittement, au quel cas, il faut surveiller la réception après l'émission. Mais dans ce cas, recv() suffit ...

Tout dépend du type de protocole. Si on doit gérer la réception d'évènements spontanés, effectivement, on échappe pas soit à l'écriture de 2 tâches indépendantes asynchrones (threads), soit à la sérialisation (mode synchrone) avec select() ou équivalent (select() fonctionne aussi sous Windows tant qu'il s'agit de sockets).


Dernière édition par -ed- le Lun 26 Avr 2010 - 12:34, édité 2 fois
-ed-
-ed-
Admin
Admin

Messages : 290
Date d'inscription : 26/05/2008
Age : 67
Localisation : Paris 14eme arrondissement (75, France)

http://bien-programmer.fr

Revenir en haut Aller en bas

Projet CAN Empty Re: Projet CAN

Message  zakari Lun 26 Avr 2010 - 12:25

Merci infiniment "ed"
cordialement

zakari

Messages : 3
Date d'inscription : 23/04/2010

Revenir en haut Aller en bas

Projet CAN Empty Re: Projet CAN

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser