begin process at 2010 02 10 09:55:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Réseau / Internet

 > 

Enum || mise en place d'une classe protocole


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enum || mise en place d'une classe protocole

mardi 10 mai 2005 à 09:56:03 | Enum || mise en place d'une classe protocole

YOOP

Bonjour,

je cherche à metre en place un protocole de communication sur RS232 pour une application embarqué.
Soit g deja la connexion, une partie de l'interface... Maintenant je regarde à créé une classe pour les entêtes de la trame que je veux envoyer.
exemeple  :

| < 1 > "Data"
|                  | [ Identifiant Commande ]    [ Identifiant donnés ]    [ Identifiant élément ]
|                  | < 0 > "Write OK"                   < 000 > "reservé"             < xxx > (indiférent)
|                  |
|                   | < 1 > "Error Transmit"          < 000 > "reservé"             < xxx > (indiférent)


Donc l'idee était de creer une classe entete qui contient des flags en énum. Style :

[Flags]
public enum Entete
{
Data = 128 ,
WriteOK =128,
ERR=192
}

Mais forcément ce bout de code ne va pas car dans type enum, il ne peut y avoir deux falg ayant la même valeure. Or c'est ce que je veux : Quand c'est une ent^te data ca peut etre aussi "WriteOK"....
Et dans le m^me ordre d'idée, comment fair pour qu'un énum puisse prendre plusieur valeure (une plage)?
car comme dans l'exemple : les trois derniers bits peuvent avoir plusieur valeures. Et comme cette classe est valable a la reception et a l'émission, il faut que si on m'envoie une trame avec les trois derniers bist fluctuant , il reconnaisse que c'est bien "Write ok"???


Merci pour les idées et sugestion

mardi 2 août 2005 à 11:35:33 | Re : Enum || mise en place d'une classe protocole

el_teedee

Membre Club
| < 01 > "Data"
|                  | [ Identifiant Commande ]    [ Identifiant donnés ]    [ Identifiant élément ]
|                  | < 0 > "Write OK"                   < 000 > "reservé"             < xxx > (indiférent)
|                  |
|                   | < 1 > "Error Transmit"          < 000 > "reservé"             < xxx > (indiférent)


| < 10 > "Commande"
|                  | [ Identifiant Commande ]    [ Identifiant donnés ]    [ Identifiant élément ]
|                  | < 0 > "Write OK"                   < 000 > "reservé"             < xxx > (indiférent)
|                  |
|                   | < 1 > "Error Transmit"          < 000 > "reservé"             < xxx > (indiférent)

Ainsi, tu n'auras pas les mêmes ENTET même si la suite des bits est identique puisque les 2 bits de poids faible sont différents.

DATA : de 01 0 000 000 à 01 1 111 111, c'est-à-dire de 128 à 255
COMMANDE : de 10 0 000 000 à 10 1 111 111
, c'est-à-dire de 256 à 383

Le problème c'est que cela ne tient plus sur 1 octet, mais sur 9 bits.
mardi 2 août 2005 à 11:36:33 | Re : Enum || mise en place d'une classe protocole

el_teedee

Membre Club
Ainsi, tu n'auras pas les mêmes ENTET même si la suite des bits est identique puisque les 2 bits de poids FORT sont différents.

bien entendu

mardi 9 août 2005 à 10:48:15 | Re : Enum || mise en place d'une classe protocole

YOOP

yep, Ce serait en effet la solution la plus facile. Mais comme tu l'as souligné, elle nécessite l'utilisation de 9 bits. Or sur le micro controleur que j'utilise (PIC 18F2420) cela allourdi la programation lorque l'on cherche a travailler sur 9 bits. En effet, le module de communication du micro controleur est prévu pour travailler sur 8 bits. Il y a bien une possibilité de travailler sur 9 bits en passant par le bit de parité (si mes souvenir sont correctes). Mais bon, c'est lourd a la mise en place (de plus je suis limité en espace code donc la solution doit venir si possoble du coté PC (interface)) Voila pour la précision. Merci pour tes suggestions... cordialement. JOOP @ GREENPROPULSION :d
lundi 24 octobre 2005 à 12:42:28 | Re : Enum || mise en place d'une classe protocole

Nono8379

Slt, je ne sais pas ou tu en es, mais pour ton enumération tu peux faire : enum Test {Zero = 256, Un = 255, One = Un, Deux = 254, Two = Deux, Trois = 3} c'est à dire que tu peux donc bien réutiliser le même nom (litéral d'énumération) dans une énumération... bon courage Arnaud


Cette discussion est classée dans : data, classe, place, enum, protocole


Répondre à ce message

Sujets en rapport avec ce message

Lister les membres d'une classe [ par April_Seb4 ] BonjourJ'explique mon problèmeJ'utilise une API pour gérer une carte d'affichage qui demande des uint en entréeJ'ai voulu utiliser une enum qui se car Les exceptions notamment le "data" [ par gregoire2008 ] Bonjour, j'ai un big probleme sur c#. J'ai créer un classe héritée de la classe exception du framework et je voudrai faire un parcour sur la propriété pb de cast - classe proxy [ par romagny13 ] Bonsoir,voila j'ai un petit probleme de castj'essaie de faire :// oCONTACTs est de type CONTACTs - classe collection générique de contact</p dev C# avec Visual Studio 2005 [ par Sabine25 ] Bonjour,Je viens de commancer le VS 2005 et c# et j'ai des petites questions.J ai créé un formulaire de test avec un bouton juste pour établir une con XmlSerialize espaces blancs [ par alicvb ] Bonjour,Voilà mon problème : j'essaie de sauvegarder une classe en xml via les methode Serialize et Desserialize de la classe XmlSerializer.Je n'ai pa Copie d'un DataTable vers un autres dans 2 classes [ par thebigboss ] Salut,voilà, j'ai une classe dans laquelle j'ai un DataTable que je rempli.J'ai une fonction qui renvoie ce DataTable.Dans mon programme principal j'e Empêcher la complétion d'une liste [ par mathmax ] Bonjour,J'ai une classe qui expose un propriété de type List en lecture seule. Cette classe est en fait modifiable depuis n'importe quelle classe via < à la place de '<' et >à la place de '>' [ par Titi035 ] Bonjour, Est il possible d'écrire le caractère 'Par exemple, je souhaite écrire " >Le problème, c'est que lorsque j'écris ça dans mon fichier, [c#] référence d'un service web client à une classe proxy [ par Verrisan ] Bonjour tout le monde,J'ai généré avec l'utilitaire wsdl.exe de Visual Studio 2005 une classe proxy.cs à partir d'un fichier wsdl que l'on m'a fourni. affiché d un champ crypté dans un datagrid [ par kyo_tr ] j ai deux tables table1(matricule,nom,prénom,date_naiss,....) table2(matricule,data) le champ data est crypté décrypter data puis l'   affiché dans un


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,530 sec (4)

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