Parcourir ce sujet :
1 Utilisateur(s) anonymes
Re: probleme code warrior passage de parametres |
||
---|---|---|
Accro
![]() ![]() Inscrit:
06/10/2005 22:39 De la roche sur yon
Messages:
282
![]() |
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
|
|
![]() |
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
|
|
![]() |
Re: probleme code warrior passage de parametres |
||
---|---|---|
Accro
![]() ![]() Inscrit:
06/10/2005 22:39 De la roche sur yon
Messages:
282
![]() |
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
|
|
![]() |
Re: probleme code warrior passage de parametres |
||
---|---|---|
Accro
![]() ![]() Inscrit:
06/10/2005 22:39 De la roche sur yon
Messages:
282
![]() |
les fichiers c
Posté le : 15/10/2007 10:05
|
|
![]() |
Re: probleme code warrior passage de parametres |
||
---|---|---|
Accro
![]() ![]() Inscrit:
06/10/2005 22:39 De la roche sur yon
Messages:
282
![]() |
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
Posté le : 15/10/2007 10:09
|
|
![]() |
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
|
|
![]() |
Re: probleme code warrior passage de parametres |
||
---|---|---|
Modérateur
![]() ![]() Inscrit:
24/09/2005 13:30 De 04110 - VACHERES- FRANCE
Messages:
1499
![]() |
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.
|
||
![]() |
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.