Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 32

aide programme c sur MIKROC



  1. #1
    coeur noire
    Invité

    aide programme c sur MIKROC


    ------

    salut

    je voudrais piloter un moteur unipolaire avec un pic
    mais mon programme ne fonctionne pas
    Code:
    void main(void)
     {
           long tab[4];
           ANSEL = 0;
           TRISA = 0;
           TRISB = 0;
    
           PORTA.F4=tab[0];
           PORTB.F3=tab[1];
           PORTB.F6=tab[2];
           PORTB.F7=tab[3];
           while(1)
    
           {
    
            tab[4]=(0,0,0,1);
            delay_ms(1000);
            tab[4]=(0,0,1,0);
            delay_ms(1000);
            tab[4]=(0,1,0,0);
            delay_ms(1000);
            tab[4]=(1,0,0,0);
            delay_ms(1000);
    }}

    -----

  2. Publicité
  3. #2
    thesheep

    Re : aide programme c sur MIKROC

    commente ton programme c plus facil pour le comprendre et t'aider

  4. #3
    maximilien

    Re : aide programme c sur MIKROC

    Pourquoi ne pas avoir continuer dans la précédente discussion???
    http://forums.futura-sciences.com/el...nipolaire.html

    Pour le reste, sans commentaire c'est vrai qu'on ne peut rien faire!!
    Un peu de documentation SVP!

  5. #4
    thesheep

    Re : aide programme c sur MIKROC

    comment encombrer un forum avec les meme post

  6. A voir en vidéo sur Futura
  7. #5
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut

    excusez moi pour avoir ouvert ce second post

    j'utilse un pic 16F88 + un ULN2803 Stepping Motors M42SP-7 12VDC 259mA
    je deposse tout les documents schema
    y a til une personne qui a reussirai a fair ce petit programme?
    Fichiers attachés Fichiers attachés

  8. #6
    Seb.26

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    salut

    je voudrais piloter un moteur unipolaire avec un pic
    mais mon programme ne fonctionne pas
    Code:
    void main(void)
     {
           long tab[4];
           ANSEL = 0;
           TRISA = 0;
           TRISB = 0;
    
           PORTA.F4=tab[0];
           PORTB.F3=tab[1];
           PORTB.F6=tab[2];
           PORTB.F7=tab[3];
           while(1)
    
           {
    
            tab[4]=(0,0,0,1);
            delay_ms(1000);
            tab[4]=(0,0,1,0);
            delay_ms(1000);
            tab[4]=(0,1,0,0);
            delay_ms(1000);
            tab[4]=(1,0,0,0);
            delay_ms(1000);
    }}
    ça peut pas marcher, essaye :

    Code:
    long tab[4];
    
    void set_port(void)
    {
           PORTA.F4=tab[0];
           PORTB.F3=tab[1];
           PORTB.F6=tab[2];
           PORTB.F7=tab[3];
    }
    
    void main(void)
    {
           ANSEL = 0;
           TRISA = 0;
           TRISB = 0;
    
           while(1)
           {
                    tab[4]=(0,0,0,1);
                    set_port();
                    delay_ms(1000);
                    //
                    tab[4]=(0,0,1,0);
                    set_port();
                    delay_ms(1000);
                    //
                    tab[4]=(0,1,0,0);
                    set_port();
                    delay_ms(1000);
                    //
                    tab[4]=(1,0,0,0);
                    set_port();
                    delay_ms(1000);
            }
    }
    ... par contre, je ne connais pas la syntaxe de ton compilo, donc j'ai fait comme si ton code était correct ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  9. Publicité
  10. #7
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut

    le programme compile,mais le moteur ne tourne pas
    j'ai fais un teste avec une led
    la led reste allumé sur le PORTA.F4 ,PORTB.F6
    y faudrait s'insiperer du chenillard peux etre ?

  11. #8
    Seb.26

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    salut

    le programme compile,mais le moteur ne tourne pas
    j'ai fais un teste avec une led
    la led reste allumé sur le PORTA.F4 ,PORTB.F6
    y faudrait s'insiperer du chenillard peux etre ?
    Vérifie la syntaxe de ton compilo pour les affectations de tableaux.

    D'ailleurs, pour donc un tableau de long ???
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  12. #9
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut seb.26

    quand tu me pose cette question
    "Vérifie la syntaxe de ton compilo pour les affectations de tableaux."
    si ca compile la syntaxe est correcte
    puis la deuxieme tu me demande pourquoi j'utilise un type long aux lieux d'un char non?
    sinon dans ce programme la fonction qui inialise le tableau
    tu m'est viod entre les ()
    ne faut il pas envoyé deux parametre a la fonction le pointer *tab et la taille ?

    et long tab[4]; est en dehors de la fonction main
    on doit bien declarer la variable dans la main

    la mon programmateur et le pic + la carte + le moteur font faire un voyage non retour a la poubelle

  13. #10
    maximilien

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    la mon programmateur et le pic + la carte + le moteur font faire un voyage non retour a la poubelle
    Pour essayer de les sauver je participe...

    Tout d'abord, pourquoi utiliser un tableau?

    Essaye un programme du genre:
    Code:
    do{
    RA1=1;
    RA2=0;
    RA3=0;
    RA4=0;
    
    pause (100ms)
    
    RA1=1;
    RA2=0;
    RA3=0;
    RA4=0;
    
    .... pour les 4 étapes
    
    }while(1)
    C'est plus simple mais pas optimisé en terme de prog.


    Simule d'abord sur des leds pou mieux voir ce qui se passe.

    Vérifie, l'ordre des phase du moteur, je ne suis pas sur que ce soit 0,0,0,1 puis 0,0,1,0...

    Bon courage!

    EDIT: j'ai mis RA0... au PIF!!!!

    Ah encore une dernière chose: fainéant que je suis je n'aime pas trop ouvrir des Zip... surtout quand on voit ensuite une pagaille dans le schéma!

  14. #11
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    j'ai essaié ce code mais aucun resultat

    avec une led il y a trois port qui sont allume constament PORTA.F0,
    PORTA.F4,PORTA.F0,PORTB.F1
    j'ai un gros probleme la


    Code:
     void main(void)
    
    
        {
    
    
           ANSEL = 0;
           TRISA = 0b11101111;
           TRISB = 0b00110111;
    
           do(1)
    
           {
    
            PORTA.F4=0;
    
            PORTB.F3=0;
    
            PORTB.F6=0;
    
            PORTB.F7=0;
    
            delay_ms(500);
    
            PORTA.F4=1;
    
            PORTB.F3=0;
    
            PORTB.F6=0;
    
            PORTB.F7=0;
    
            delay_ms(500);
    
    
    
    
    
            PORTA.F4=0;
    
            PORTB.F3=1;
    
            PORTB.F6=0;
    
            PORTB.F7=0;
    
            delay_ms(500);
    
    
    
    
    
            PORTA.F4=0;
    
            PORTB.F3=0;
    
            PORTB.F6=1;
    
            PORTB.F7=0;
    
            delay_ms(500);
    
    
    
    
    
            PORTA.F4=0;
    
            PORTB.F3=0;
    
            PORTB.F6=0;
    
            PORTB.F7=1;
    
            delay_ms(500);
    
           } while
    
          }

  15. #12
    Seb.26

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    quand tu me pose cette question
    "Vérifie la syntaxe de ton compilo pour les affectations de tableaux."
    si ca compile la syntaxe est correcte
    Si tu préfère : vérifie que la syntaxe que tu utilise correspond bien à ce que tu voudrais faire ...

    Car pour moi :
    Code:
    tab[4]=(0,0,0,1);
    N'écris pas 0 dans tab[0], 0 dans tab[1], 0 dans tab[2], 1 dans tab[3] ... d'ailleurs, je ne sais pas ce que ça fait : un vrai compilo ANSII ne devrait probablement pas compiler ça ...

    essayer de remplacer chaque
    Code:
    tab[4]=(0,0,0,1);
    par
    Code:
    tab[0]=0;
    tab[1]=0;
    tab[2]=0;
    tab[3]=1;
    ça devrait déjà être mieux ...

    puis la deuxieme tu me demande pourquoi j'utilise un type long aux lieux d'un char non?
    Oui, pourquoi utilise un tableau de 4 long ??? ... soit 16 octets alors que tu as besoin de 4 bits ?!!!

    sinon dans ce programme la fonction qui inialise le tableau
    tu m'est viod entre les ()
    ne faut il pas envoyé deux parametre a la fonction le pointer *tab et la taille ?
    Pour garder ta structure, j'ai fait comme ça, mais en effet perso, je ferais autrement ... à toi de voir ...

    et long tab[4]; est en dehors de la fonction main
    on doit bien declarer la variable dans la main
    Bah non, je l'ai passé en globale, sinon impossible de l'utiliser dans la fonction set_port() ...

    -> Potasse des cours de C si tu veux avancer ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  16. Publicité
  17. #13
    maximilien

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    avec une led il y a trois port qui sont allume constament PORTA.F0,
    PORTA.F4,PORTA.F0,PORTB.F1
    Ça veut dire quoi????

  18. #14
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut

    j'ai fait le circuit imprimé et j'ai mi des barrette tulipe pour les ULN2803 que j'ai en levé et avec une led ou un voltmetre je teste les port
    sinon apres plusieur teste j'ai compris que si je fais un reset sur mclr la led s"allume bien sur le port suivant mais ne clignote pas
    y faut donc faire un reset tout les 1second dans le programme

  19. #15
    Seb.26

    Re : aide programme c sur MIKROC

    PS: c'est quoi cette boucle do(1){...}while; ???

    il a fumé du crack ton compilo ou quoi ???
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  20. #16
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut

    vous auriez pas un lien a me proposer pour programmer en c sur MIKROC
    a part faire un reset avec le watchdog je vois pas ?

  21. #17
    maximilien

    Re : aide programme c sur MIKROC

    Il n'y a pas de reset à faire!

    Pour des exemples de prog en C sur MikroC, il suffit de regarder l'AIDE (très complète d'ailleurs!!!!).

  22. #18
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut


    au debut du projet j'ai mi la configue par defaut pour qu il utilise un quartz externe de 4mHZ sur PA6 et PA7
    il faut bien que mes sorti soit en entrer I/O ou digital
    pouvez vous me dire les erreurs a corriger pour que ce programme fonctionne?

    [CODE][
    long tab[4],taille=4 ;
    void set_port(long *tab,long taille)
    {

    PORTA.F4=tab[0];
    PORTB.F3=tab[1];
    PORTB.F6=tab[2];
    PORTB.F7=tab[3];
    }

    void main(void)
    {
    ANSEL=0;
    OPTION_REG = 0b00000000;

    TRISB = 0b00110111;
    TRISA = 0b11101111;

    set_port(tab,taille);
    while(1)

    {

    tab[0]=1,
    tab[1]=0,
    tab[2]=0,
    tab[3]=0;

    delay_ms(1000);
    tab[0]=0,
    tab[1]=1,
    tab[2]=0,
    tab[3]=0;

    delay_ms(1000);
    tab[0]=0,
    tab[1]=0,
    tab[2]=1,
    tab[3]=0;
    delay_ms(1000);
    tab[0]=0,
    tab[1]=0,
    tab[2]=0,
    tab[3]=1;
    delay_ms(1000);
    }


    }



    /CODE]

  23. Publicité
  24. #19
    maximilien

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    PORTA.F4=tab[0];
    Je ne pense pas que ça c'est possible puisque PORTA.F4 est un bit et tab[0] est une case mémoire!

    Je ne comprends pas pourquoi utiliser un tableau???

    Un peu plus de commentaireS dans le code!!!

  25. #20
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut


    si tu a une autre solution a me proposer
    le probleme c'est qui faudrais separer les tableaux et les incrementer les un a la suite

  26. #21
    maximilien

    Re : aide programme c sur MIKROC

    Pour moi il faut faire comme dans mon message en #10.

  27. #22
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    salut

    apres avoir rajouter PORTA.F4++;PORTB.F++;PORTB.F++ ;PORTB.F7++;
    le moteur fait des pas
    en fait y fais un pas a gauche et deux pas droite constament c'est y regulier


    Code:
      void main(void)
    {
    ANSEL=0;
    OPTION_REG = 0b00000000;
    TRISB = 0b00110111;
    TRISA = 0b11101111;
    
    
    
    
    
           while(1)
    
           {
           PORTA.F4++;
           PORTB.F3++;
           PORTB.F6++;
           PORTB.F7++;
    
           PORTA.F4=0;
           PORTB.F3=0;
           PORTB.F6=0;
           PORTB.F7=0;
           delay_ms(1000);
           PORTA.F4=1;
           PORTB.F3=0;
           PORTB.F6=0;
           PORTB.F7=0;
           delay_ms(1000);
           PORTA.F4=0;
           PORTB.F3=1;
           PORTB.F6=0;
           PORTB.F7=0;
           delay_ms(1000);
           PORTA.F4=0;
           PORTB.F3=0;
           PORTB.F6=1;
           PORTB.F7=0;
           delay_ms(1000);
           PORTA.F4=0;
           PORTB.F3=0;
           PORTB.F6=0;
           PORTB.F7=1;
           delay_ms(1000);
           }}

  28. #23
    maximilien

    Re : aide programme c sur MIKROC

    Citation Envoyé par coeur noire Voir le message
    apres avoir rajouter PORTA.F4++;PORTB.F++;PORTB.F++ ;PORTB.F7++;
    le moteur fait des pas
    en fait y fais un pas a gauche et deux pas droite constament c'est y regulier
    Non tu ne peut pas dire que ça marche...
    PORTA.F4++
    Ça, ça ne veut RIEN dire!!!
    C'est un bit... on ne l'incrémente pas...

  29. #24
    maximilien

    Re : aide programme c sur MIKROC

    Dubitatif, j'ai quand même essayé:
    62 317 Operator '++' is not applicable to these operands ''

  30. Publicité
  31. #25
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    oui tu a raison que je m'est ces quatres ligne en plus ou pas mon moteur reste gripper
    tu a raison aussi aux niveaux des phases

  32. #26
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    Ca y est le moteur tourne
    la carte fonctionne bien
    je te remercie de ton aide
    y va falloire beaucoup de temp pour que je mettrise tout les fonctions du pic
    surtout que j'ai pas bien compris pour annuller les rebond avec le timer 0

  33. #27
    maximilien

    Re : aide programme c sur MIKROC

    Quel est ton code???

  34. #28
    coeur noire
    Invité

    Re : aide programme c sur MIKROC

    Code:
       void main(void)
    {
    ANSEL=0;
    OPTION_REG = 0b00000000;
    TRISB = 0b00110111;
    TRISA = 0b11101111;
    
    
    
    
    
           while(1)
    
           {
    
    
           PORTA.F4=0;
           PORTB.F3=0;
           PORTB.F6=0;
           PORTB.F7=0;
           delay_ms(100);
           PORTA.F4=1;
           PORTB.F3=0;
           PORTB.F6=1;
           PORTB.F7=0;
           delay_ms(100);
           PORTA.F4=0;
           PORTB.F3=1;
           PORTB.F6=0;
           PORTB.F7=1;
           delay_ms(100);
           PORTA.F4=1;
           PORTB.F3=0;
           PORTB.F6=1;
           PORTB.F7=0;
           delay_ms(100);
           PORTA.F4=0;
           PORTB.F3=1;
           PORTB.F6=0;
           PORTB.F7=1;
           delay_ms(100);
           }}

  35. #29
    maximilien

    Re : aide programme c sur MIKROC

    Code:
       void main(void)
    {
    ANSEL=0;
    OPTION_REG = 0b00000000;
    TRISB = 0b00110111;
    TRISA = 0b11101111;
           while(1)
           {
           PORTA.F4=1;
           PORTB.F3=0;
           PORTB.F6=1;
           PORTB.F7=0;
           delay_ms(100);
           PORTA.F4=0;
           PORTB.F3=1;
           PORTB.F6=0;
           PORTB.F7=1;
           delay_ms(100);
           }}
    Essaye ça.

  36. #30
    coeur noire
    Invité

    Re : aide programme c sur MIKROC


    je vais m'acheter des neurones
    Dernière modification par coeur noire ; 02/05/2009 à 19h06.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. aide sur un programme en scilab
    Par ces11 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 03/05/2009, 02h29
  2. Aide pour programme sur microC
    Par babar64 dans le forum Électronique
    Réponses: 1
    Dernier message: 26/02/2009, 10h01
  3. aide pour programme 16f84
    Par barth69 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/02/2009, 15h34
  4. bug sur isis et mikroC
    Par marox dans le forum Électronique
    Réponses: 3
    Dernier message: 09/06/2008, 22h11
  5. aide petit programme PIC16F877
    Par solid_sneak06 dans le forum Électronique
    Réponses: 12
    Dernier message: 26/04/2006, 20h18
Découvrez nos comparatifs produits sur l'informatique et les technologies.