|  | 
| 
 | |||||||
| Café du forum Section reservé au discussions libre, présentation, parlez de tous et de rien. | 
|   | 
|  | Outils de la discussion | 
|  25/05/2017, 20h25 | #1 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |  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 | 
|   |   | 
|  06/06/2017, 11h24 | #2 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   
			
			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 | 
|   |   | 
|  04/07/2017, 21h24 | #3 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			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 | 
|   |   | 
|  05/07/2017, 21h01 | #4 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   
			
			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]); | 
|   |   | 
|  06/07/2017, 21h30 | #5 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			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 | 
|   |   | 
|  07/07/2017, 12h56 | #6 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   
			
			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.
		 | 
|   |   | 
|  07/07/2017, 22h36 | #7 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			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 | 
|   |   | 
|  08/07/2017, 02h24 | #8 | 
| Moderateur  Date d'inscription: juin 2015 Localisation: France, Paris 
					Messages: 648
				 Thanks: 383 
		
			
				Thanked 4 579 Times in 460 Posts
			
		
	Pouvoir de réputation: 77            |   
			
			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 à 04h40. | 
|   |   | 
|  08/07/2017, 05h08 | #9 | 
| Moderateur  Date d'inscription: juin 2015 Localisation: France, Paris 
					Messages: 648
				 Thanks: 383 
		
			
				Thanked 4 579 Times in 460 Posts
			
		
	Pouvoir de réputation: 77            |   
			
			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... | 
|   |   | 
|  08/07/2017, 11h20 | #10 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   
			
			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 !
		 | 
|   |   | 
|  09/07/2017, 21h55 | #11 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			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 | 
|   |   | 
|  10/07/2017, 17h05 | #12 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   | 
|   |   | 
|  14/07/2017, 14h26 | #13 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			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 | 
|   |   | 
|  14/07/2017, 15h30 | #14 | 
| Membre attaché  Date d'inscription: novembre 2016 Localisation: France, Nevers 
					Messages: 434
				 Thanks: 367 
		
			
				Thanked 476 Times in 208 Posts
			
		
	Pouvoir de réputation: 14       |   
			
			Salut, c'est bon j'avais oublié de declarer le tableau dans mon .h Pat | 
|   |   | 
|  15/07/2017, 12h25 | #15 | 
| Débutant Date d'inscription: juin 2011 Localisation: FRANCE 
					Messages: 19
				 Thanks: 9 
		
			
				Thanked 7 Times in 3 Posts
			
		
	Pouvoir de réputation: 0  |   
			
			Super si ça fonctionne. Il faut être très rigoureux en programmation, surtout en C ! | 
|   |   | 
| Sponsored Link | 
|  | 
| Liens sociaux | 
| 
 | 
 | 
|  Discussions similaires | ||||
| Discussion | Auteur | Forum | Réponses | Dernier message | 
| mini chaine vw Transporter | macafixx | Autoradio et Navigateur GPS | 0 | 19/07/2016 21h03 | 
| sensor chaine | haddadou | Logiciel & autres documentations général | 2 | 30/08/2013 21h02 | 
| U2000 Bus chaine cinematique... | digicar | Peugeot, Citroën | 1 | 03/01/2011 18h22 | 
| code 5 caractere | abdo | Peugeot, Citroën | 3 | 01/06/2010 21h05 |