OBTENIR L'ETAT DES BITS QUI COMPOSENT UN OCTET (CONVERSION XX->BINAIRE)

Messages postés
3
Date d'inscription
lundi 29 décembre 2003
Statut
Membre
Dernière intervention
14 décembre 2005
- - Dernière réponse : Melodie_Nelson
Messages postés
5
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
- 17 mai 2006 à 09:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35098-obtenir-l-etat-des-bits-qui-composent-un-octet-conversion-xx-binaire

Afficher la suite 
Melodie_Nelson
Messages postés
5
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
-
OK,
Mais en fait c'est bon j'ai réussi à régler ce problème. Mais j'en ai d'autres du coup maintenant.
Je vais donc aller voir sur jelectronique, merci
cs_VinceVG
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016
-
On en chie tous le c est un anti language. Il doit rester réservé à des élus. On passe tellement de temps à apprendre à l'utiliser qu'aprés... une fois qu'on est dans le clan on refuse les autres outils avec dédain. je te dis ça j'ai commencer à programmer en hexa (et oui) puis en assembleur puis en basic (le vieu truc pourris) puis en gw basic. Et d'un coup j'ai commencé à respirer avec le pascal en enfin visual basic. Maintenant je suis punis et doit rétrograder au c.

Pour ton pb : si tu envoies le mot (qqs sa base) sur le port, ça devrait marcher sans pb. Ton compilateur s'en charge.Je ne connait pas le lpc2138 ni le compilateur que tu utilise mais bon je n'en connait pas pour lesquels ça ne marche pas.

Ceci dit j'interviens aussi sur un autre forum, plus dédié à ce type d'utilisation du c. L'avantage c'est que la bas tout le monde est électronicien et donc tu auras des réponses rapides et pointus.

Je te met l'adresse : http://forums.jelectronique.com/
Melodie_Nelson
Messages postés
5
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
-
Merci.
Pfffou, j'en chie.
Tant qu'on y est j'ai une autre question ( enfin j'en ai des millions mais bon ).
Euh, comment dire, donc je commande mon LCD à partir d'un LPC2138. Et je ne sais pas comment assigner mes 8 bits de data du LCD. Je vais les commander en hexa.
Par ex : lcd_data(0x38)
donc ensuite ma procédure lcd_data(infodata) doit transformer ce code hexa pour assigner les 8 bits.
J'ai un peu du mal à expliquer parce que je ne comprends pas le problème.
Voici en gros mon programme :

union IO_PORT
{
u16 W;
u32 DW;
struct
{
u08 LSB;
u08 MLSB;
u08 MMSB;
u08 MSB;
} B2DW;
//etc

//l'afficheur est câblé sur les ports P0.16 à 23, ce qui correspond à B2DW.MMSB

//et on trouve aussi ça dans le fichier LPC_io.h :
#define IDE_PORT_L IO_IO1PIN->B2DW.MMSB


//ensuite :

void init_aff(void) /*faire l'init de l'afficheur*/
{
int i,j=0 ;
for(i=0;i<3;i++)
{
lcd_data(0x38);
delay(20000);
}

lcd_data (0x0C) ;
delay(20000);

//etc
}

void lcd_data (char infodata)
{

IO0CLR = LCD_RS ; //mode instruction du LCD
IO0CLR = LCD_RW ; //mode écriture du LCD

IO0DIR = 0xFEFFB705; // D0 à D7 en sortie

IDE_PORT_L = infodata ;
enable(80); // validation pendant tant de ns
}

Où est le problème ? Pourquoi ça ne marche pas ?
C'est peut-être un problème au niveau du lcd, je respecte peut-ête mal les procédures d'envoie de données. Voici sa doc http://www.spezial.de/doc/cctech/cmc216-01.pdf
Enfin je pense que c'est ma définition IDE_PORT_L qui n'est pas bonne.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
Va bon.
Melodie_Nelson
Messages postés
5
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
-
bien, merci mais je pense faire autrement finalement

sinon j'ai une autre question, qui n'a rien à voir certes.

c'est pour obtenir le nombre de caractère d'un mot. sachant que je n'ai pas les librairies telle stdio ou string.

est-ce correct comme ça ??

int n=0;
while(word[n]!=0)
n++ ;  //n est donc le nombre de caractère de word