online faq recherche accueil
 

Il y a 78 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :  1  2  3  4  5  ..  22  23  24  25  26  27
Auteur
 Sujet :

[topic unique] Aide au développement informatique (C++, java, algo...)

 
n°5362545
kypper_667
Im'avalounède, lol.
Posté le 07-05-2008 à 16:38:32  profilanswer
 

Reprise du message précédent :
Fais un fichier de conf' ou des arguments...


---------------
Posté le o3|11|2oo7 à 12|2o|46 par Shoggynou : Non mais Kypper depuis genre 6 mois il est passé d'un gars à très cool à Grubnatz :hmm: - Posté le 29-o8-2oo7 à 14|26|05 par Incubeee_ : Oui, mais pour moi tu seras toujours Arcueid :o - Posté le o4-12-2oo6 à 21|55|41 par Simulacre : Ne t'inquiète pas, je te défoncerai tôt ou tard. : ) - Posté le 13-o4-2oo6 à o1|o8|37 par Bellandy : Sinon tu habites chez tes parents ? - Posté le 31-12-2oo5 à 21|3o|37 par Loline : mais mais Kyppy, tu n'as pas une grande vie sexuelle :heink: - Posté le o5-o8-2oo4 à 17|47|18 par Zack : J'ai l'impression d'être le seul à pas vraiment connaître Kypper... o_O
n°5362547
guigolum
noone can stop us now
Posté le 07-05-2008 à 16:42:48  profilanswer
 

bin ça doit etre constant: pas d'appel de fonction, dans le programme - qui est chargé par un autre- je DOIS avoir un char[] . le seul moment où je peux changer les parametres c'est la compilation. mais là ça marche hein ^^ c'est juste moi qui me suit compliqué la vie.
(pour info, c'est juste un projet alacon où on doit faire des plug ins de traitement de fonction de IR->IR, là par exemple c'est une fonction de calcul d'integrale par la methode des trapezes, j'ai aussi une dicho et un min/max, et je vais faire la recherche de changement de signe de dérivée)

 

au passage, il y a des structures de liste associative(tableau associatif?) en C generiques? juste pour savoir si je me suis fait chier(à faire des trucs qui marchent pas focement bien) pour rien..


Message édité par guigolum le 07-05-2008 à 16:45:16

---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5362554
Olive
Dans le noir
Posté le 07-05-2008 à 17:12:22  profilanswer
 

Cherche une lib proposant des map et set, à voir s'il existe des implémentation en C (certainement).
 
En C++, il suffit de taper dans la STL pour ça.

n°5363278
guigolum
noone can stop us now
Posté le 09-05-2008 à 10:12:14  profilanswer
 

autre question àlacon en c:
dans mon header, je declare un type de structure(sans le definir)
je declare aussi des fonctions qui utilisent cette structure
 
dans mon .c, je definis donc cette structure
 
j'ai fait comme ça:
 
.h:

Code :
  1. struct listassosciative;
  2. #define listasso struct listassociative


 
.c:

Code :
  1. listasso{
  2. int (*func_cmp_clef)(void *, void *); //fonction de comparaison des clefs
  3. void (*func_dst_clef)(void *);   //fonction de suppression des clefs
  4. void * (*func_cp_clef)(void *);   //fonction de recopie de clef
  5. lam *debut;
  6. lam *actuel;
  7. };


 
y'a pas moyen d'utiliser le typedef pour faire ça plus proprement? en tenant en compte que je ne veux AUCUNE definition dans mon .h..
quand je fais typedef il y a un probleme(j'ai la structure 'struct listasso' et la structure 'listasso' ..)


---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5363282
Naz
Censurez moi.
Posté le 09-05-2008 à 10:29:42  profilanswer
 

Quelqu'un sait comment coder un timer pour microcontrôleur en C ? :x


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5363283
Olive
Dans le noir
Posté le 09-05-2008 à 10:30:01  profilanswer
 

ce qui est sale c'est ton define.  
Le C n'est pas cool par rapport au C++ pour ce que tu veux faire malheureusement, car on est obligé de faire un typedef si on veut se débarasser du struct. J'écrirais ça ainsi :  
 
.h:

Code :
  1. struct listeassossiative;
  2. typedef struct listeassossiative listasso;


 
.c:

Code :
  1. typedef struct listeassossiative
  2. {
  3.     int (*func_cmp_clef)(void *, void *); //fonction de comparaison des clefs
  4.     void (*func_dst_clef)(void *);   //fonction de suppression des clefs
  5.     void * (*func_cp_clef)(void *);   //fonction de recopie de clef
  6.     lam *debut;
  7.     lam *actuel;
  8. } listasso;


 
et après dans ton code :

Code :
  1. listasso a, b; ...


Message édité par Olive le 09-05-2008 à 10:33:11
n°5363287
guigolum
noone can stop us now
Posté le 09-05-2008 à 10:48:10  profilanswer
 

ok, je savais pas que je pouvais faire avec le typedef.

 

mais alors.. pourquoi c'est crade mon define?
parce qu'il agit sur une definition de type alors que le preproc est plutot utilisé pour les def de constantes?

 


edit: en fait pour ta solution, il me dit qu'il y a un probleme de redefinition de listasso. oui, le .h est inclu dans le .c ...
bon, ça marche en faisant

Code :
  1. struct listeassossiative
  2. {
  3.     int (*func_cmp_clef)(void *, void *); //fonction de comparaison des clefs
  4.     void (*func_dst_clef)(void *);   //fonction de suppression des clefs
  5.     void * (*func_cp_clef)(void *);   //fonction de recopie de clef
  6.     lam *debut;
  7.     lam *actuel;
  8. };


Message édité par guigolum le 09-05-2008 à 10:56:55

---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5363295
Olive
Dans le noir
Posté le 09-05-2008 à 11:03:00  profilanswer
 

Ok, ça peut dépendre des compilo pour ce genre d'erreur, puisqu'il m'est arrivé de le faire sans problème sous Visual.
 
Pour le define oui, on évite de s'en servir pour définir des types.

n°5363299
guigolum
noone can stop us now
Posté le 09-05-2008 à 11:11:25  profilanswer
 

bon autre question(et merci au passage :) ):

 

est ce que je peux mettre dans une chaine statique( donc, "blablabla" ) des caracteres speciaux:
en supposant que \i soit le caractere 'i' (\5 c'est le resultat de char a=5 par exemple), je voudrais avoir les chaines "\1" et "\1\1" (afin d'etre sûr de les avoir en premier dans une liste triée- en fait ce sont les etats initiaux et finaux, uniques)

 

au pire si je peux pas, pour l'instant ça pose pas de probleme, vu que ma liste est pas triée(mais ça pourrait plus tard..si je veux ameliorer la chose): je peux simplement dire #define ETAT_INITIAL "etat initial" ...

 

ha et au passage, si je fais:

Code :
  1. char *a= ETAT_INITIAL ;
  2. if(a==ETAT_INITIAL) printf("ouais!\n" );


ça comparera bien les adresses memoires?


Message édité par guigolum le 09-05-2008 à 11:13:10

---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5363305
Olive
Dans le noir
Posté le 09-05-2008 à 11:18:49  profilanswer
 

Oui, ça compare les adresses mémoire, utilise strcmp plutôt (renvoie 0 si les chaînes sont égales).
Ceci dit, comparer les adresses mémoire peut être si tes chaînes sont uniques, et ce sera plus rapide que strcmp. (a == ETAT_INITIAL) est bien vérifié dans ton exemple. Mais si on en fait une copie, ce n'est plus le cas, alors que strcmp renverra toujours 0.
 
pour combiner les deux méthodes, écrit une telle fonction:

Code :
  1. int StringCompare(const char * s1, const char * s2)
  2. {
  3.     if ( s1 == s2 )
  4.         return 0;
  5.     else
  6.         return strcmp(s1, s2);
  7. }


 
Pour mettre des caractères spéciaux, il suffit de dé-spécialiser le caractère avec \ devant, par exemple "\\1" donne \1.
 
edit : ajout de code.


Message édité par Olive le 09-05-2008 à 11:29:57
n°5363313
guigolum
noone can stop us now
Posté le 09-05-2008 à 11:45:11  profilanswer
 

ok, merci.
 
en fait t'as pas tort, dans ma fonction d'ajout l'etat initial est une clef de ma liste asso(donc recopié..)
ç'aurait encore été une grosse source d'emmerdes..


---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5363319
cali
Posté le 09-05-2008 à 11:58:22  profilanswer
 

Si tu dois écrire un string avec plusieurs caractères spéciaux tu peux mettre un @ devant le string qui comprendra automatiquement. Enfin, ça c'est en c#, ca doit marcher en c++, aucune idée en c.


---------------

n°5363320
Naz
Censurez moi.
Posté le 09-05-2008 à 12:02:08  profilanswer
 

Naz a écrit :

Quelqu'un sait comment coder un timer pour microcontrôleur en C ? :x



---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5363323
guigolum
noone can stop us now
Posté le 09-05-2008 à 12:05:21  profilanswer
 

c'est quoi un timer, c'est quoi un microcontrolleur?

 

(chez moi un timeur c'est une commande sleep() dans un thread , et un microcontrolleur c'est une interface de communication avec une partie physique mais bon..)

 
cali a écrit :

Si tu dois écrire un string avec plusieurs caractères spéciaux tu peux mettre un @ devant le string qui comprendra automatiquement. Enfin, ça c'est en c#, ca doit marcher en c++, aucune idée en c.

 

mouais mais dans ce cas, faut definir un char *.  je prefererais faire ça en preproc en fait..
enfin, je verrai plus tard si ça marche pas..


Message édité par guigolum le 09-05-2008 à 12:06:14

---------------
il y a ceux qui s'etonnent, qui s'affolent et questionnent; les autres s'en tamponnent tellement la beuh est bonne;
laissez bruler la weed, et n'oubliez personne; dans la fumée des dieux s'effondre babylone..
le libéralisme, c'est la course à l'ovule : pour qu'une personne reussise, un millier doivent crever.
n°5363338
Olive
Dans le noir
Posté le 09-05-2008 à 12:40:03  profilanswer
 

cali a écrit :

Si tu dois écrire un string avec plusieurs caractères spéciaux tu peux mettre un @ devant le string qui comprendra automatiquement. Enfin, ça c'est en c#, ca doit marcher en c++, aucune idée en c.

Non, @ n'est pas un opérateur du langage C++.

n°5363343
cali
Posté le 09-05-2008 à 12:45:33  profilanswer
 

oki c'est qu'en c# alors ^^


---------------

n°5363374
CdE
Samaël a trouvé son maître.
Posté le 09-05-2008 à 14:05:57  profilanswer
 

Naz a écrit :

Quelqu'un sait comment coder un timer pour microcontrôleur en C ? :x


 
POSIX

n°5363380
Olive
Dans le noir
Posté le 09-05-2008 à 14:11:35  profilanswer
 

gni ?
POSIX ne fait que définir un standard, qui plus est qui tend à être obsolète. Ca ne va pas l'aider à programmer un microcontrôleur.

n°5363383
CdE
Samaël a trouvé son maître.
Posté le 09-05-2008 à 14:14:16  profilanswer
 

Y a des implémentations en C qui font ce qu'il veut je crois.

n°5365719
cavolo
Posté le 14-05-2008 à 21:06:36  profilanswer
 

:hello: tout le monde

 

dsl si ma question a deja était poser mais j'ai un petit probleme(si j'ai l'air d'un noob a vos yeux dsl :/)

 

bon j'explique mon cas:

 

j'ai voulut testé linux sous sa version xubuntu(dérive de ubuntu en moin lourds)
donc j'ai suivit l'installation en suivant un tuto sur ce site http://www.siteduzero.com/tuto-3-1 [...] linux.html

 

donc comme c'est dit sa pars de zero, et vu que je connait pas trop linux se site ma bien aidé.

 

donc je partitionne en 3 parti :windows (30Go),linux(5Go),swap(1Go),mes doc(4Go)

 

et en fait je voudrait enlevé mes partition pour revenir a 100% sur windows mais la je ne sais pas comment faire :/

 

-formaté les partition?si oui comment?je me retrouve a une seul partition a la fin?(celle de windows qui comprend tout mon disque dur?)
-reformaté tout le disque dur?(long :( et puis y aura-t-il plus qu'une seul partition,pour windows?)

 

si je peut faire la 1ere solution se serait le top :)

 


en tout cas merci de l'aide que vous allez peut-etre m'apporté

 

:jap:

 

edit: euh on ma dit que j'avais pas post au bon endroit, je delete? ou je laisse si vous pouvez m'aidé ?


Message édité par cavolo le 14-05-2008 à 21:27:51

---------------
Trade liste Cavolo (car ya que moi qui drop :p)
1er anni self drop le 09/03/08 a  22h20,stat: 19/12/9 :p
 
merci a alchi pour les petit (pour lui) truc qu'il ma donné :bisou:
n°5365727
Olive
Dans le noir
Posté le 14-05-2008 à 21:27:50  profilanswer
 

Prend un CD de boot quelconque livré avec un pléthore d'utilitaires de maintenance ; il y a en général un partitionneur dessus. Ou ça par exemple. Avec le dit soft, tu pourras butter tes 3 petites partitions pour en faire une seule, voir éventuellement tout regrouper en une seule sans pour autant perdre ton windows (dépend du soft ça).
 
BTW, mauvais topic ;).


Message édité par Olive le 14-05-2008 à 21:34:04
n°5365728
cavolo
Posté le 14-05-2008 à 21:30:30  profilanswer
 

oui j'ai edit a une seconde pres de ton post  
en tout cas merci
:jap:


---------------
Trade liste Cavolo (car ya que moi qui drop :p)
1er anni self drop le 09/03/08 a  22h20,stat: 19/12/9 :p
 
merci a alchi pour les petit (pour lui) truc qu'il ma donné :bisou:
n°5367907
Naz
Censurez moi.
Posté le 21-05-2008 à 13:06:21  profilanswer
 

Code :
  1. #include "p18f458.h"
  2. #include "math.h"
  3. #pragma config OSC=HS, OSCS=OFF, PWRT=ON, BOR=OFF, BORV=45, WDT=OFF, WDTPS=1, STVR=OFF, LVP=OFF, DEBUG=ON, CP0=ON, CP1=ON, CP2=ON
  4. #pragma config CP3=ON, CPB=ON, CPD=OFF, WRT0=OFF, WRT1=OFF, WRT2=OFF, WRT3=OFF, WRTB=OFF, WRTC = OFF, WRTD=OFF, EBTR1=OFF, EBTR2=OFF, EBTR3=OFF, EBTRB=OFF
  5. void init_Pic(void);
  6. void init_tab(void);
  7. void temporisation();
  8. const unsigned char tab[91][5]= {{0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  9.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  10.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  11.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  12.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  13.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  14.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  15.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  16.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  17.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  18.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  19.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  20.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  21.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  22.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  23.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  24.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  25.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  26.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  27.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  28.         {0b11111111,0b11101111,0b11011111,0b10111111,0b11111111},
  29.         {0b11111111,0b11101111,0b11011111,0b10001111,0b01101111},
  30.         {0b11111111,0b11101111,0b11011111,0b11011111,0b10111111},
  31.         {0b11111111,0b11101111,0b11011111,0b10011111,0b11111111},
  32.         {0b11111111,0b11101111,0b11011111,0b11101111,0b01101111},
  33.         {0b11111111,0b11101111,0b11011111,0b11101111,0b11011111},
  34.         {0b11111111,0b11101111,0b11011111,0b11111111,0b11011111},
  35.         {0b11111111,0b11101111,0b11011111,0b10001111,0b01111111},
  36.         {0b11111111,0b11101111,0b11011111,0b11111111,0b11111111},
  37.         {0b11111111,0b11101111,0b11011111,0b11101111,0b01111111},
  38.         {0b11111111,0b11101111,0b01111111,0b10111111,0b11111111},
  39.         {0b11111111,0b11101111,0b01111111,0b10001111,0b01101111},
  40.         {0b11111111,0b11101111,0b01111111,0b11011111,0b10111111},
  41.         {0b11111111,0b11101111,0b01111111,0b11001111,0b11111111},
  42.         {0b11111111,0b11101111,0b01111111,0b11101111,0b01101111},
  43.         {0b11111111,0b11101111,0b01111111,0b11101111,0b11011111},
  44.         {0b11111111,0b11101111,0b01111111,0b11111111,0b11011111},
  45.         {0b11111111,0b11101111,0b01111111,0b10001111,0b01111111},
  46.         {0b11111111,0b11101111,0b01111111,0b11111111,0b11111111},
  47.         {0b11111111,0b11101111,0b01111111,0b11101111,0b01111111},
  48.         {0b11111111,0b11111111,0b00111111,0b00111111,0b11111111},
  49.         {0b11111111,0b11111111,0b00111111,0b00001111,0b01101111},
  50.         {0b11111111,0b11111111,0b00111111,0b01011111,0b10111111},
  51.         {0b11111111,0b11111111,0b00111111,0b01001111,0b11111111},
  52.         {0b11111111,0b11111111,0b00111111,0b01101111,0b10111111},
  53.          {0b11111111,0b11111111,0b00111111,0b01101111,0b11011111},
  54.         {0b11111111,0b11111111,0b00111111,0b01111111,0b11011111},
  55.         {0b11111111,0b11111111,0b00111111,0b00001111,0b01111111},
  56.         {0b11111111,0b11111111,0b00111111,0b01111111,0b11111111},
  57.         {0b11111111,0b11111111,0b00111111,0b01101111,0b01111111},
  58.         {0b11111111,0b11111111,0b01101111,0b10111111,0b11111111},
  59.         {0b11111111,0b11111111,0b01101111,0b10001111,0b01101111},
  60.         {0b11111111,0b11111111,0b01101111,0b11011111,0b10111111},
  61.         {0b11111111,0b11111111,0b01101111,0b11001111,0b11111111},
  62.         {0b11111111,0b11111111,0b01101111,0b11101111,0b01101111},
  63.         {0b11111111,0b11111111,0b01101111,0b11101111,0b11011111},
  64.         {0b11111111,0b11111111,0b01101111,0b11111111,0b11011111},
  65.         {0b11111111,0b11111111,0b01101111,0b10001111,0b01111111},
  66.         {0b11111111,0b11111111,0b01101111,0b11111111,0b11111111},
  67.         {0b11111111,0b11111111,0b01101111,0b11101111,0b01111111},
  68.         {0b11111111,0b11111111,0b11101111,0b10111111,0b11111111},
  69.         {0b11111111,0b11111111,0b11101111,0b10001111,0b01101111},
  70.         {0b11111111,0b11111111,0b11101111,0b11011111,0b10111111},
  71.         {0b11111111,0b11111111,0b11101111,0b11001111,0b11111111},
  72.         {0b11111111,0b11111111,0b11101111,0b11101111,0b10111111},
  73.         {0b11111111,0b11111111,0b11101111,0b11101111,0b11011111},
  74.         {0b11111111,0b11111111,0b11101111,0b11111111,0b11011111},
  75.         {0b11111111,0b11111111,0b11101111,0b10001111,0b01111111},
  76.         {0b11111111,0b11111111,0b11101111,0b11111111,0b11111111},
  77.         {0b11111111,0b11111111,0b11101111,0b11101111,0b01111111},
  78.         {0b11111111,0b11001111,0b00111111,0b10111111,0b11111111},
  79.         {0b11111111,0b11001111,0b00111111,0b10001111,0b01101111},
  80.         {0b11111111,0b11001111,0b00111111,0b11011111,0b10111111},
  81.         {0b11111111,0b11001111,0b00111111,0b11001111,0b11111111},
  82.         {0b11111111,0b11001111,0b00111111,0b11101111,0b01101111},
  83.         {0b11111111,0b11001111,0b00111111,0b11101111,0b11011111},
  84.         {0b11111111,0b11001111,0b00111111,0b11111111,0b11011111},
  85.         {0b11111111,0b11001111,0b00111111,0b10001111,0b01111111},
  86.         {0b11111111,0b11001111,0b00111111,0b11111111,0b11111111},
  87.         {0b11111111,0b11001111,0b00111111,0b11101111,0b01111111},
  88.         {0b11111111,0b11111111,0b11111111,0b10111111,0b11111111},
  89.           {0b11111111,0b11111111,0b11111111,0b10001111,0b01101111},
  90.         {0b11111111,0b11111111,0b11111111,0b11011111,0b10111111},
  91.         {0b11111111,0b11111111,0b11111111,0b11001111,0b11111111},
  92.         {0b11111111,0b11111111,0b11111111,0b11101111,0b01101111},
  93.         {0b11111111,0b11111111,0b11111111,0b11101111,0b11011111},
  94.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11011111},
  95.         {0b11111111,0b11111111,0b11111111,0b10001111,0b01111111},
  96.         {0b11111111,0b11111111,0b11111111,0b11111111,0b11111111},
  97.         {0b11111111,0b11111111,0b11111111,0b11101111,0b01111111},
  98.         {0b11111111,0b11111111,0b00111111,0b10111111,0b11111111}};
  99. //------------Init PIC-----------------------------------------------//
  100. void init_Pic(void)
  101. {
  102. //initialisation des ports
  103. CCP1CON=0b00000000; // Capture/Compare/PWM disabled  
  104. TRISC=0x00; // RC0-RC7 output
  105. TRISB=0x00; // RB0 output
  106. TRISE=0x01; // RE0 input
  107. TRISA=0x2F; // RA0-RA3 input, RA5 input
  108. PORTA=0x00;
  109. PORTB=0x00;
  110. PORTC=0x00;
  111. PORTE=0x00;
  112. // interruption config interruption RB0
  113. INTCONbits.GIE= 1; // enable interruption global
  114. INTCONbits.TMR0IE=1; //enable timer
  115. INTCONbits.TMR0IF=0; //se mettra à 1 à chaque fin de cycle du timer
  116. }
  117. //-----------Tempo------------------------------------------------//
  118. void temporisation()
  119. {
  120. T0CONbits.TMR0ON=1; // lancement du timer
  121. while(INTCONbits.TMR0IF==0)
  122. {}
  123. INTCONbits.TMR0IF=0;
  124. }
  125. void main()
  126. {
  127. float a;
  128. int b,i,j,k;
  129. char masque;
  130. init_Pic();
  131. init_tab();
  132. T0CON=0b01011000;
  133. i=0;
  134. masque=1;
  135. for (i=0;i<7;i++)
  136. {
  137.  if (i==6)
  138.  {
  139.   i=0;
  140.  }
  141.  a = PORTAbits.RAi; //on récupère la tension du ième MOS
  142.  a =(a - 0.1828) * 0.0362; //conversion en température
  143.  b=floor(a); //on prend la partie entière
  144.  PORTCbits.RCi = 1; //on sélectionne le ieme afficheur
  145. //Envoie des données avec le timer
  146.  for(j=0;j<4;i++)
  147.  {
  148.   for (k=0;k<8;k++)
  149.   {
  150.    PORTCbits.RC6=tab[b][j]&masque; //le masque sélectionne un seul bit de l'octet
  151.    masque<<=1; //décalage d'un rang vers la gauche du masque
  152.    temporisation();
  153.    PORTCbits.RC7=1;         // front montant du clk
  154.    temporisation();
  155.    temporisation();
  156.    PORTCbits.RC7=0;         // front descendant du clk
  157.    temporisation();
  158.   }
  159.  }
  160. //Fin de l'envoi des données en série
  161.  if (b>90)
  162.    //si dépassement de température, on coupe tout en mettant la sortie reliée aux drivers MOS à 1
  163.   {
  164.   PORTBbits.RB0 = 1;
  165.   PORTCbits.RCi=0;
  166.   }
  167.  else PORTCbits.RCi=0;//on déselectionne l'afficheur en court
  168. }
  169. }


 
La syntaxe PORTCbits.RCi existe pas :( Quelqu'un a une idée pour que je puisse contourner ça ? ;[]


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5367914
Eria
Posté le 21-05-2008 à 13:10:57  profilanswer
 

Le i de fin c'est un chiffre variant entre 0 et 9 c'est ca?


---------------
Humeur du jour: :|
TradeList SCL
Ordre de la resolution des dommages
n°5367915
DooMeeR
DooM shall never die.
Posté le 21-05-2008 à 13:11:50  profilanswer
 

Euh si je résume bien ton problème, tu as n variables A0 A1 A2 ... An et tu veux pouvoir, étant donné une expression e, récupérer la variable Ae ?
 
Si c'est ça c'est simple : c'est pas possible sauf dans les langages vraiment crades. Au lieu d'utiliser n variables, utilise un tableau.


---------------
www.doomeer.com
n°5367917
Naz
Censurez moi.
Posté le 21-05-2008 à 13:17:05  profilanswer
 

Eria a écrit :

Le i de fin c'est un chiffre variant entre 0 et 9 c'est ca?


 
0 à 5 plus exactement.
 
@Doomeer : comment ça un tableau ? :hmm:


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5367918
Eria
Posté le 21-05-2008 à 13:21:51  profilanswer
 

Bah il te dit que, dans ta structure, au lieu de definir:
 
 

Code :
  1. jesaispasquoi RC0;
  2. jesaispasquoi RC1;
  3. jesaispasquoi RC2;
  4. jesaispasquoi RC3;
  5. jesaispasquoi RC4;
  6. jesaispasquoi RC5;


De faire:

Code :
  1. jesaispasquoi RC[6];


 
Mais sauf erreur de ma part c'est pas toi qui l'a definie la structure? :hmm:
Dans ce cas tu as 2 choix:
- Un gros switch tout laid.
- Definir un tableau de pointeur sur chaque RCx et l'utiliser pour affecter les valeurs


Message édité par Eria le 21-05-2008 à 13:33:56

---------------
Humeur du jour: :|
TradeList SCL
Ordre de la resolution des dommages
n°5367919
Naz
Censurez moi.
Posté le 21-05-2008 à 13:24:42  profilanswer
 

Pas les pointeurs :cry:


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5367927
kypper_667
Im'avalounède, lol.
Posté le 21-05-2008 à 13:37:45  profilanswer
 

DooMeeR a écrit :

Euh si je résume bien ton problème, tu as n variables A0 A1 A2 ... An et tu veux pouvoir, étant donné une expression e, récupérer la variable Ae ?
 
Si c'est ça c'est simple : c'est pas possible sauf dans les langages vraiment crades. Au lieu d'utiliser n variables, utilise un tableau.

I LOL'D.
 
Ou pas. Naaaaaaaz fais pas ça ;_; tu n'entends pas le pauvre petit compilateur hurler de douleur ?


---------------
Posté le o3|11|2oo7 à 12|2o|46 par Shoggynou : Non mais Kypper depuis genre 6 mois il est passé d'un gars à très cool à Grubnatz :hmm: - Posté le 29-o8-2oo7 à 14|26|05 par Incubeee_ : Oui, mais pour moi tu seras toujours Arcueid :o - Posté le o4-12-2oo6 à 21|55|41 par Simulacre : Ne t'inquiète pas, je te défoncerai tôt ou tard. : ) - Posté le 13-o4-2oo6 à o1|o8|37 par Bellandy : Sinon tu habites chez tes parents ? - Posté le 31-12-2oo5 à 21|3o|37 par Loline : mais mais Kyppy, tu n'as pas une grande vie sexuelle :heink: - Posté le o5-o8-2oo4 à 17|47|18 par Zack : J'ai l'impression d'être le seul à pas vraiment connaître Kypper... o_O
n°5367928
CdE
Samaël a trouvé son maître.
Posté le 21-05-2008 à 13:39:57  profilanswer
 

kypper_667 a écrit :

I LOL'D.
 
Ou pas. Naaaaaaaz fais pas ça ;_; tu n'entends pas le pauvre petit compilateur hurler de douleur ?


 
Y a pas le son sur gcc :]

n°5367944
Eria
Posté le 21-05-2008 à 14:05:22  profilanswer
 

Tres constructif tout ca :hmm:
 
Naz tu pourrais mettre à quoi ressemble la structure exactement stp? ^^


---------------
Humeur du jour: :|
TradeList SCL
Ordre de la resolution des dommages
n°5367960
DooMeeR
DooM shall never die.
Posté le 21-05-2008 à 14:32:25  profilanswer
 


Bah qu'est-ce que j'ai dit ? :ack:


---------------
www.doomeer.com
n°5367965
cali
Posté le 21-05-2008 à 14:42:56  profilanswer
 

Mon dieu, RCi pour i variant de 0 à 9. :ack:
 
 
Oui, utilises un tableau de RC[i] plutôt. \o


---------------

n°5367973
Naz
Censurez moi.
Posté le 21-05-2008 à 15:22:16  profilanswer
 

Ouais on vient de me souffler la solution. :p
Par contre, mon tableau, je le déclare comment ? Jsuis à chier en pointeur...


Message édité par Naz le 21-05-2008 à 15:34:30

---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5368085
Naz
Censurez moi.
Posté le 21-05-2008 à 18:28:01  profilanswer
 

H4LP :'(


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5368121
DooMeeR
DooM shall never die.
Posté le 21-05-2008 à 19:12:27  profilanswer
 

Bah Eria t'a donné la réponse plus haut :hmm:


---------------
www.doomeer.com
n°5368123
Naz
Censurez moi.
Posté le 21-05-2008 à 19:13:18  profilanswer
 

Non mais jsuis une bite en C, jsuis pas capable d'utiliser les pointeurs hein :'(


---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5368125
DooMeeR
DooM shall never die.
Posté le 21-05-2008 à 19:18:01  profilanswer
 

Nan mais là Eria te dit de remplacer tes 6 variables par une seule, de type tableau (et non pas pointeur, même si c'est pareil). Elle te donne même la façon de déclarer ton tableau. Donc après je peux imaginer plein de problème potentiels donc dis-nous où tu bloques :ack:
1) Tu ne peux pas changer la définition des 6 variables ?
2) Tu ne comprends pas la définition de la variable tableau ?
3) Tu ne sais pas utiliser les tableaux ?
4) Jambon-fromage-crudités ?


---------------
www.doomeer.com
n°5368128
Naz
Censurez moi.
Posté le 21-05-2008 à 19:20:16  profilanswer
 

Ah. J'ai jamais défini de structure hein. Le PORTAbits.RC1, ça existe de base pour le PIC que je programme. Le code que vous avez là, c'est 100% du truc que j'ai fait.


Message édité par Naz le 21-05-2008 à 19:20:23

---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
n°5368130
DooMeeR
DooM shall never die.
Posté le 21-05-2008 à 19:22:08  profilanswer
 

Ok donc c'était le choix 1).
 
Là, Eria te proposes deux solutions :
- un switch
- un tableau de pointeurs mais apparemment ça te fait peur
 
Donc on va faire un switch. La question est simple : sais-tu faire des switch ? :hmm: Sinon t'as qu'à faire une série de if-then-else :ack:


---------------
www.doomeer.com
n°5368133
Naz
Censurez moi.
Posté le 21-05-2008 à 19:23:34  profilanswer
 

Nan mais un tableau de pointeurs, j'imagine que c'est tout con... si tu sais faire :ack:
Je sais même pas ce qu'est un switch.


Message édité par Naz le 21-05-2008 à 19:23:44

---------------
[:nazgulknight][:nazgulknight:1][:nazgulknight:2]
Viens écouter ma playlist ! (Maj le 11/06/08)
 Page :  1  2  3  4  5  ..  22  23  24  25  26  27

Aller à :
Ajouter une réponse