probleme code warrior passage de parametres [Forums - Langage C]
probleme code warrior passage de parametres [Forums - Langage C]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



« 1 (2)


Re: probleme code warrior passage de parametres
Accro
Inscrit:
06/10/2005 22:39
De la roche sur yon
Messages: 282
Hors Ligne
voici le dessasemmblage de la fonction


Function: EnvoyerLCD
Source : D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\Sources\lcd4.c
Options : -Cs08 -D__NO_FLOAT__ -Env"GENPATH=D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project;D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\bin;D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\prm;D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\Sources;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\device\src;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\lib;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\src;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\device\include;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\device\asm_include;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\HC08c\include" -Env"LIBPATH=C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\device\include;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\hc08c\device\asm_include;C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.0\lib\HC08c\include" -EnvOBJPATH=D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\bin -EnvTEXTPATH=D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\bin -Lasm=D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\Project_Data\Standard\ObjectCode\lcd4.c.o.lst -Ms -ObjN=D:\ts\tsen2\tp\tp-2008\tp-2008\mesure_\Project\Project_Data\Standard\ObjectCode\lcd4.c.o -WmsgSd1106

0000 89 [2] PSHX
0001 8b [2] PSHH
0002 8b [2] PSHH
109: unsigned char i;
110: i= 0x80+c+(0x40*ligne);
0003 ab80 [2] ADD #-128
0005 ae40 [2] LDX #64
0007 87 [2] PSHA
0008 9ee607 [4] LDA 7,SP
000b 42 [5] MUL
000c 95 [2] TSX
000d fb [3] ADD ,X
111: EnvoyerCommande(i);
000e cd0000 [6] JSR EnvoyerCommande
112: i=0;
0011 95 [2] TSX
0012 6f01 [5] CLR 1,X
113: while(chaine[i]!=0)
0014 8a [3] PULH
0015 2008 [3] BRA L1F ;abs = 001f
0017 L17:
0017 ad0e [5] BSR L27 ;abs = 0027
114: {
115: EnvoyerValeur(chaine[i]);
0019 f6 [3] LDA ,X
001a cd0000 [6] JSR EnvoyerValeur
116: i++;
001d 95 [2] TSX
001e 7c [4] INC ,X
001f L1F:
001f ad06 [5] BSR L27 ;abs = 0027
0021 7d [3] TST ,X
0022 26f3 [3] BNE L17 ;abs = 0017
117: }
118: }
0024 a703 [2] AIS #3
0026 81 [6] RTS
0027 L27:
0027 95 [2] TSX
0028 e602 [3] LDA 2,X
002a eb04 [3] ADD 4,X
002c 87 [2] PSHA
002d 4f [1] CLRA
002e e903 [3] ADC 3,X
0030 87 [2] PSHA
0031 8a [3] PULH
0032 88 [3] PULX
0033 81 [6] RTS

Posté le : 14/10/2007 09:35
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Guest_
Bonjour, Michel

Sans pouvoir dire ce qui ne va pas à la lecture de l'assembleur, je peux cependant te dire que sur base de mon expérience (limitée) en C, il y a un problème quelque part. je vois par exemple deux PSHH de suite.

Je pense à un probléme de définition de ta fonction, mais ton bout de code ne permet pas d'en savoir plus.

D'où :

Dans mon dernier "projet" sur le site (inductancemètre), il y a un driver LCD ( qui n'est d'ailleurs pas de moi) qui fonctionne très bien.

Si tu souhaites que je regarde plus en détail, envoie moi ton projet, je pourrai mieux te dire si je vois quelque chose qui ne va pas.

thierry

Posté le : 14/10/2007 19:20
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Accro
Inscrit:
06/10/2005 22:39
De la roche sur yon
Messages: 282
Hors Ligne
en passant des entiers tout va bien pour cette fonction normalement il suffisant de passer des char et dans ce cas là ça ne suffit pas. la question que je pose n'est ce pas un bug lié à cw6?

si ça intéresse je peux fournir les driver en c pour commander un lcd graphique.

Posté le : 15/10/2007 10:03
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Accro
Inscrit:
06/10/2005 22:39
De la roche sur yon
Messages: 282
Hors Ligne
les fichiers c

Attacher un fichier:


c lcd4.c Taille: 1.67 KB; Hits: 111
h lcd.h Taille: 0.34 KB; Hits: 74

Posté le : 15/10/2007 10:05
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Accro
Inscrit:
06/10/2005 22:39
De la roche sur yon
Messages: 282
Hors Ligne
voici les driver avec qui je n'ai plus de pb à force de les transformer je vais devenir bourrique
le .h et le point c

Attacher un fichier:


c lcd4.c Taille: 1.66 KB; Hits: 98
h lcd.h Taille: 0.34 KB; Hits: 92

Posté le : 15/10/2007 10:09
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Guest_
Bonjour, Michel

Dans ton post #14, il y a un problème dans lcd. h : tu as "int c" dans la fonction "EnvoyerLCD"

Dans lcd4.c, c'est "char c".

Si tu mets aussi "char c" dans lcd.h, cela devrait marcher

Même chose pour la ligne : "int l "(lcd.h) et "char l" (lcd4.c)

thierry

Posté le : 15/10/2007 17:38
Transférer la contribution vers d'autres applications Transférer


Re: probleme code warrior passage de parametres
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1499
Hors Ligne
Bonsoir,
...et dans ton post #15 : lcd.c, tu as de nouveau des int dans la dernière fonction : void EnvoyerLCD(unsigned int ligne,unsigned int c,unsigned char * chaine)

Yvan

Posté le : 15/10/2007 21:22
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

probleme code warrior passage de parametres [Forums - Langage C]