begin process at 2012 02 13 13:20:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Autre

 > 

code pour microcontroleur


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

code pour microcontroleur

lundi 4 août 2008 à 06:27:18 | code pour microcontroleur

develdelphi

Bonjour,

J'ai un code pour microcontroleur,
et je ne comprend pas certaines lignes
et il s'agit d'opérations sur bits que voici:

le programme:

////////
//variables&fonctions definitions:
...
unsigned long DELAI;
...
inline void delai_cmd(unsigned char t);


//code:
...
/* ajout command pour apres                                  */
/* ------------------------------------------------------------------------- */
inline void delai_cmd(unsigned char t)
{
 DELAI |= ((unsigned long)1) << t;   // ?
}                                                                             
...

//////
avec t etant des #defines pouvant être un chiffre entre 0 et 22 selon conditions.

ce code DELAI &= ((unsigned long)1) << t;
signifie quoi? 

Et avec un & a la place ça fera quoi:  DELAI &= ((unsigned long)1) << t; ?


Merci
 

DevelSoft

lundi 4 août 2008 à 20:40:12 | Re : code pour microcontroleur

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
((unsigned long)1) << t; signifie que la valeur 1 subit un décalage de t bits à gauche.
1=00000000000000000000000000000001
Si t =5 par exemple on aura 00000000000000000000000000100000

DELAI |= ((unsigned long)1) << t; équivaut à:
DELAI = DELAI | ((unsigned long)1) << t;
Ici la nouvelle valeur de DELAI sera son ancienne valeur à laquelle on a appliqué un OU binaire avec 1 décalé à gauche de t bits.
Supposons que DELAI vaut 8 et t vaut 5:
DELAI=00000000000000000000000000001000
1 << 5=00000000000000000000000000100000
En appliquant le OU binaire on aura:
DELAI= 00000000000000000000000000101000
En remplaçant | par & on appliquera un ET binaire et on aura:
DELAI= 00000000000000000000000000000000

lundi 4 août 2008 à 20:49:58 | Re : code pour microcontroleur

develdelphi

Réponse acceptée !


Merci Racpp,

Je crois qu'on ne peut être plus clair :)

Merci


DevelSoft

lundi 4 août 2008 à 21:15:02 | Re : code pour microcontroleur

racpp

Administrateur CodeS-SourceS
De rien develdelphi.
Je pense que tu devrais cliquer sur "Réponse acceptée" correspondant à ma réponse. Cela pourrait être utile à certains.



Cette discussion est classée dans : long, code, unsigned, microcontroleur, delai


Répondre à ce message

Sujets en rapport avec ce message

conversion constante en hexa ->unsigned long ou int ??? [ par andrealphus ] 4ndr&@lphu$rebonjour à tous et toutes,mon nouveau probleme est ridicule mais gênant...comment peut on convertir un nombre hexadécimal (du style l'adre Probleme avec le registre [ par punx120 ] Voila j'aimerais recuperer la valeur d'une chaine dans la base des registres, mais je n'y arrive pasvoici le code que j'utilise : #include #include vo conversion en unsigned long [ par flatou ] voila j'ai un type de donnée défini comme suit :typedef unsigned long long my_ulonglong;#endifc'est un type de donnée MySQL. Or j'ai vu que pour utili Chaine de caractere [ par xarier ] voila je veut recuperé le numero de serie de c:\ et j'ai pas pu car a la place que la variable nex recuperele la valeur de serial il recupere un autre Question idiote a propos des tableaux 3D [ par boulfrite ] Salut...J'ai une question un peu idiote : Est-ce que unsigned char image [256][256][3];est la meme chose que<table border= pb avec les pointeurs [ par oudkaramla ] salut, j'ai un problème dont je ne sais l'origine: en fait j'ai définis la fonction : int EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWri sizeof bizarre [ par khayyam ] bonjour, j'ai la structure suivante : typedef struct { unsigned char sign1, sign2; unsigned long size_totale, reserve,offset; un Unsigned __int64 et PRINTF [ par BeLZeL ] Ce message n'attend pas de réponse. Il est là à titre indicatif. Il aidera les gens qui tomberont dessus via un moteur de recherche.En effet, j'ai un problème Win32 Api [ par Toadstool ] J'ai Visual C++ 6 Introductory Edition et j'ai programmé une classe censée représenter une fenetre mais quand dans le constructeur de la classe j'ecri Convertion d'un unsigned long Double en string [ par yves_r ] Bonjour, J'ai besoin de convertir le résultat d'un calcul en string (char *). Si j'utilise sprintf( s, "%Ld", mon_double), j'obtient une chaine


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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