Futura Sciences
Image de la rubrique en cours

Forum FS Generation

Précédent   Vous êtes ici : Forum FS Generation » Futura Technique » Électronique


Réponse
Vieux 03/11/2007, 18h18   Sujet Compilateur CCS C - initialiser struct bit à bit ? - Message #1
branqueira
 
Date d'inscription: octobre 2007
Âge: 25
Messages: 14
Compilateur CCS C - initialiser struct bit à bit ?
Bonjour,

j'utilise le compilteur c de ccs.

je veux recuperer des infos en serie d'un périphérique.
J'ai une structure :

Code:
struct ps2 { int1 depart; int8 info; int1 parite; int1 arret; int1 acquis; };
je dispose d'une fonction qui "ecoute" le peripherique bit par bit.

il y a 12 bits au total, ca commence par un bit de depart et ensuite 8 bits d'info etc etc...


et je voudrais initialiser la structure ps2
en effectuant une fonction :

Code:
for(i=0;i<=11;++i) { ps2 = souris.data; }
bien sur cela est faux car à chaque boucle j'initalise le premier bit, c'est à dire depart.

Comment faut il faire pour qu'a chaque boucle, je passe au bit suivant ?
branqueira est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   
Vieux 04/11/2007, 01h13   Sujet Compilateur CCS C - initialiser struct bit à bit ? - Message #2
Seb.26
 
Date d'inscription: juin 2005
Messages: 853
Re : Compilateur CCS C - initialiser struct bit à bit ?
si tes données sont dispo quelque par sou forme "parrallèle", il te suffirait d'ajouter un union avec un short ( int16 ).

si tes données arrivent bit par bit, il faut coder un automate d'etats avec un switch() pour metre la bonne donnée au bon endroit.

si tu veux initialiser tes champs à une valeur x, je te conseille l'union avec un short ...
Seb.26 est déconnecté   Réponse avec citation
Vieux 04/11/2007, 13h25   Sujet Compilateur CCS C - initialiser struct bit à bit ? - Message #3
branqueira
 
Date d'inscription: octobre 2007
Âge: 25
Messages: 14
Re : Compilateur CCS C - initialiser struct bit à bit ?
Bonjour,
mes données arrivent bit à bit donc je vais essayer ta proposition

en ce qui concerne l'union, tu parles comme les structures ?

comme cela :

Code:
union nombre { int i; float f; }
car si c'est cela, je n'ai pas compris le fond de ta pensée

ps: dommage en assembleur, je sais comment faire mais pas en C
branqueira est déconnecté   Réponse avec citation
Vieux 04/11/2007, 13h54   Sujet Compilateur CCS C - initialiser struct bit à bit ? - Message #4
Seb.26
 
Date d'inscription: juin 2005
Messages: 853
Re : Compilateur CCS C - initialiser struct bit à bit ?
Citation:
Posté par branqueira Voir le message
en ce qui concerne l'union, tu parles comme les structures ?

Oui, de cette façon, tu peux modifier plusieurs bits d'un coup via le int16 ... et ensuite traiter tes données bit à bit par le struct normal ...
Seb.26 est déconnecté   Réponse avec citation
Vieux 26/11/2007, 15h37   Sujet Compilateur CCS C - initialiser struct bit à bit ? - Message #5
branqueira
 
Date d'inscription: octobre 2007
Âge: 25
Messages: 14
Re : Compilateur CCS C - initialiser struct bit à bit ?
coucou et désolé pour le retard
finalement j'ai garder ma structure et j'ai fait une méthode qui récupere l'info en renvoyant un int1

donc j'ai un truc comme :
ps2.depart = ecoute();
etc etc
pour l'info j'ai mis une boucle sur cette méthode et je fais un decalage d'un bit.
branqueira est déconnecté   Réponse avec citation
Bienvenue
Si ceci est votre première visite, vous devez vous inscrire avant de pouvoir envoyer des messages. En étant inscrit vous pourrez poster votre question, participer aux débats, joindre vos images... alors n'attendez-plus, cela vous prendra 1 minute !

Pour commencer à lire les messages, depuis la page d'accueil des forums, sélectionnez le forum qui vous tente et partez ensuite à sa découverte...

Publicité

A voir aussi
valeur en 8 Bit (Forum Électronique)
Echantillonage de bit et vérification (Forum Électronique)
inversion de bit (Forum Électronique)
bit de parité (Forum Électronique)
Bit Torrent 3.3 (Forum Internet - Réseau - Sécurité)






A voir aussi (Futura Sciences n'est pas responsable du contenu de ces publicités)
Réponse



Outils
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Les dernières actualités
24/07 14:25 - Knol, l'encyclopédie en ligne de Google, est lancée
24/07 11:37 - Bientôt la fin de la crise de l'oxygène solaire ?
24/07 09:31 - Un moteur actionné par la lumière
23/07 17:28 - Le volcanisme à l'origine de l'extinction marine du Crétacé supérieur ?
23/07 14:54 - Les mouches seraient sensibles au champ magnétique
23/07 11:31 - Faut-il jeter de la chaux dans les océans pour refroidir la planète ?
23/07 09:32 - Un pseudo GPS pour les futurs explorateurs lunaires

Fuseau horaire GMT +2. Il est actuellement 16h03.

Propulsé par vBulletin
Copyright © 2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.
Traduction par l'association vBulletin francophone