Tlemcen Car electronics  

Précédent   Tlemcen Car electronics > Categorie principale > Café du forum
S'inscrire FAQ Communauté Donate Messages du jour Recherche

Café du forum Section reservé au discussions libre, présentation, parlez de tous et de rien.

Banner mod-Files1
Réponse
 
Outils de la discussion
Vieux 25/05/2017, 19h25   #1
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut Tableau de chaine de caractere

Salut,

parmis nous, y a t'il une personne qui pourrait m'aider avec un probleme de programmation en c

je vous explique

je suis en train de travailler sur une carte de developpement de chez FREESCALE

je suis en train de faire mon programme en C et je bloque sur la gestion des menu

j'ai crée un tableau de chaine de caracteres qui regroupe les marque des differente voiture, mon tableau en en 2D

j'ai une fonction qui permet d'afficher une chaine de caractere que j'appel comme ceci

LCD_Print ("Renault");

la pas de probleme Renault s'affiche bien sur mon LCD

mais je but sur comment faire pour prendre les marques qui ce trouve dans mon tableau et les afficher sur mon LCD

quelqu'un pourrait me donner des tuyaux en esperant qu'il y ai de programmeurs parmi nous

merci

Pat
Topal est déconnecté   Réponse avec citation
Vieux 06/06/2017, 10h24   #2
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

Un petit exemple vaut mieux qu'un long discours

Ton tableau :

char MARQUE[7][15]= {"Renault", "Peugeot", "Citroen",
"Ferrari", "Maserati",
"Audi", "Rolls Royce"};

Une boucle pour afficher :

for(I=0; I<7; I++)
{
printf(" - %s \n", MARQUE[I]);
}


Ces quelques lignes te permettront d'afficher ceci :

- Renault
- Peugeot
- Citroen
- Ferrari
- Maserati
- Audi
- Rolls Royce
RedDog est déconnecté   Réponse avec citation
Vieux 04/07/2017, 20h24   #3
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut,

excuse de ne pas t'avoir repondu, mais je n'avais pas vu ta reponse

je ne peux pas utiliser le fonction printf, car je developpe sous µc FREESCALE

en tout cas ton tableau 2D fonctionne, pas de warning du compilo

Pat
Topal est déconnecté   Réponse avec citation
Vieux 05/07/2017, 20h01   #4
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

As tu simplement essayé de remplacer ce printf du language C par ta fonction LCD_Print ?

Dans l'exemple ci-dessus ça donnerait : LCD_Print (" - %s \n", MARQUE[I]);
RedDog est déconnecté   Réponse avec citation
Vieux 06/07/2017, 20h30   #5
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut,

non je n'ai pas fait comme cela, c'est peu etre pour cela que le compilo hulait

je regarde ca et te redis

merci en tout cas

Pat
Topal est déconnecté   Réponse avec citation
Vieux 07/07/2017, 11h56   #6
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

Dans tous les cas, il te faut consulter la documentation de ta carte de développement (FREESCALE ?) afin de comprendre comment utiliser cette fonction LCD_Print et en particulier les paramètres à lui fournir.
RedDog est déconnecté   Réponse avec citation
Vieux 07/07/2017, 21h36   #7
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut,

la fonction LCD_Print, c'est moi qui l'ai ecrite, et pour afficher une chaine de caractere, il suffit d'appeler la fonction comme ca

LCD_print("Audi");

et cela affiche Audi sur mon LCD

mais ce que je voudrais c'est afficher une chaine de caractere du tableau !

Pat
Topal est déconnecté   Réponse avec citation
Vieux 08/07/2017, 01h24   #8
MrRorry
Moderateur
 
Avatar de MrRorry
 
Date d'inscription: juin 2015
Localisation: France, Paris
Messages: 636
Thanks: 379
Thanked 4 574 Times in 459 Posts
Pouvoir de réputation: 75
MrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond repute
Par défaut

Salut, je sais pas si j'ai bien compris , tu veux concatener des valeurs d'un tableau de Char? d'un tableau de strings? pour les afficher sur le lcd.

En tous cas l'exemple de RedDog est bon pour ce que tu voudrais faire, je pense que la variable integer "i" qui est incrementée pour les afficher les uns a la suite des autres t'as un peu pertubé. Et tu as oublié de mentionner le compilo utilisé! Keil je suppose?

Tu crees ton tableau,

char AutoBrand[]= {"Renault", "Peugeot", "Citroen","Ferrari", "Maserati","Audi", "Rolls Royce"};

Puis pour afficher Citroen par exemple, tu feras :

LCD_Print (AutoBrand[2]); // Affiche Citroen sur le LCD

NB: dans un tableau la premiere valeur est 0 et non 1 (mais j'imagine que je ne t'apprends rien) donc
LCD_Print (AutoBrand[0]); // Affichera Renault sur le LCD
LCD_Print (AutoBrand[4]); // Affichera Maseratisur le LCD etc...

apres en connaissant le compilo utilisé on pourra mieux te renseigner sur la syntaxe.

Bon courage pour la suite

Dernière modification par MrRorry ; 08/07/2017 à 03h40.
MrRorry est déconnecté   Réponse avec citation
Vieux 08/07/2017, 04h08   #9
MrRorry
Moderateur
 
Avatar de MrRorry
 
Date d'inscription: juin 2015
Localisation: France, Paris
Messages: 636
Thanks: 379
Thanked 4 574 Times in 459 Posts
Pouvoir de réputation: 75
MrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond reputeMrRorry has a reputation beyond repute
Par défaut

Si tu utilises keil, ce sera nomalement cette syntaxe la

enum AUTO_BRAND_LIST {
Renault , Peugeot", Citroen , Ferrari , Maserati , Audi , Rolls Royce
};

static const char *AUTO_BRAND[] = {
"Renault", "Peugeot", "Citroen","Ferrari", "Maserati","Audi", "Rolls Royce"
};

LCD_Print (AUTO_BRAND[3]); // Affiche Ferrari sur le LCD...
MrRorry est déconnecté   Réponse avec citation
Vieux 08/07/2017, 10h20   #10
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

Entièrement d'accord avec MrRorry bien sur, mais Topal, tu dis avoir écrit toi même la fonction LCD_Print, peut-être pourrais tu nous la montrer ici pour être certains de ce qu'on avance !
RedDog est déconnecté   Réponse avec citation
Vieux 09/07/2017, 20h55   #11
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut, les gars et merci pour votre aide

comme compilo j'utilise CodeWarrior de chez Freescale

si j'utilise ton initialisation de tableau Mr Morry "char AutoBrand[]= {"Renault", "Peugeot", "Citroen","Ferrari", "Maserati","Audi", "Rolls Royce"};"

le compilo n'en veut pas il crit en mettant illegal initialisation

je suis obligé de monter un tableau 2D pour ne plus avoir ce defaut

ma fonction est la suivante

void lcd_print(unsigned char * chaine) // affiche chaine de carateres
{
while(*chaine != '\0') // parcours la chaine
{
LCD_Envoi_Caract(*chaine); // affiche caractere par caracteres
chaine++;
}
}

void LCD_Envoi_Caract (unsigned char Caract){


Port_Data=Caract; //Position du curseur.
LCD_RS=1; //envoie un octet de donnée.
LCD_RW=0; //écriture dans la RAM du LCD.
LCD_E=1; //validation par l'impulsion E.
LCD_E=0;
LCD_Delay();
}

cela doit vous paraitre simple mais je galere un truc de fou

Pat

---------- Post added at 09:55 PM ---------- Previous post was at 09:48 PM ----------

Salut,

j'ai initialisé mon tableau comme ceci

char MARQUE[7][15]= {"Renault", "Peugeot", "Citroen", "Ferrari", "Maserati", "Audi", "Rolls Royce"};

et si j'ecris

LCD_Print (MARQUE[3]);

pour afficher Ferrari par exemple,le compilo hurle et affiche "function has no prototype"

pourtant il me semble avoir fait ce qu'il faut pout declarer mon tableau

Pat
Topal est déconnecté   Réponse avec citation
Vieux 10/07/2017, 16h05   #12
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

Citation:
Envoyé par Topal Voir le message
pour afficher Ferrari par exemple,le compilo hurle et affiche "function has no prototype"
Ce type d'erreur intervient lorsque la fonction n'est pas déclarée ou déclarée sans argument.
Vérifie la déclaration de ta fonction LCD_Print.
RedDog est déconnecté   Réponse avec citation
Vieux 14/07/2017, 13h26   #13
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut,

je me suis trompé en marquant le defaut du compilo, le message du compilo quand j'utilise ma fonction suivante

LCD_Print (MARQUE[3]);

et

undefined identifier 'MARQUE'

il ne reconnait pas MARQUE qui est pourtant declaré puise que c'est celui de mon tableau

char MARQUE[7][15]= {"Renault", "Peugeot", "Citroen", "Ferrari", "Maserati", "Audi", "Rolls Royce"};

je vais devenir fou avec ce truc qui doit etre super facile !

Pat
Topal est déconnecté   Réponse avec citation
Vieux 14/07/2017, 14h30   #14
Topal
Membre attaché
 
Avatar de Topal
 
Date d'inscription: novembre 2016
Localisation: France, Nevers
Messages: 438
Thanks: 365
Thanked 475 Times in 208 Posts
Pouvoir de réputation: 13
Topal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to allTopal is a name known to all
Par défaut

Salut,

c'est bon

j'avais oublié de declarer le tableau dans mon .h

Pat
Topal est déconnecté   Réponse avec citation
Vieux 15/07/2017, 11h25   #15
RedDog
Débutant
 
Avatar de RedDog
 
Date d'inscription: juin 2011
Localisation: FRANCE
Messages: 19
Thanks: 7
Thanked 7 Times in 3 Posts
Pouvoir de réputation: 0
RedDog is an unknown quantity at this point
Par défaut

Super si ça fonctionne.

Il faut être très rigoureux en programmation, surtout en C !
RedDog est déconnecté   Réponse avec citation
Sponsored Link
Réponse

Liens sociaux


Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

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

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
mini chaine vw Transporter macafixx Autoradio et Navigateur GPS 0 19/07/2016 20h03
sensor chaine haddadou Logiciel & autres documentations général 2 30/08/2013 20h02
U2000 Bus chaine cinematique... digicar Peugeot, Citroën 1 03/01/2011 17h22
code 5 caractere abdo Peugeot, Citroën 3 01/06/2010 20h05


Fuseau horaire GMT +1. Il est actuellement 10h23.


Tlemcen-electronic.com ne tolère aucune des opérations illégales et ne prend pas en charge les responsabilités pour la perte de l'équipement utilisé.
Toutes discussion sur ce forum est à des fins expérimentales et éducatives seulement. Utilisez les informations fournis par les membres à vos propres risques.
Partenaires : Cars Review - DZSAT : Télévision Par Satellite,Médias,Fréquences,Card sharing.
- GSM-ALGERIE - [ Box & outils Gsm ] - Guide Algérie- Musique mp3 - Bled Music" - EcuServer - Immo off & virgin, airbag cleaner online - Rafplus.com le gratuit sur internet - presse algerie - OBDFR.COM, France Diag - Info Algerie - Le Portail de petites annonces en Algérie- Informastore - Boutique Informatique & Multimedia - mandataire auto - Annonces Algérie HexaShopping - ChipTuning professionnel express
Tlemcen-electronic © All right reserved