Programmation ultra basique, mais ca ne fonctionne pas..
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Programmation ultra basique, mais ca ne fonctionne pas..



  1. #1
    invite85a93e3d

    Programmation ultra basique, mais ca ne fonctionne pas..


    ------

    Bonjour, j'essai de faire un truque basique mais ca le fonctionne pas^^

    Voilà j'ai un compteur, et je veut qu'il inverse la sortie d'une PIN a une certaine valeur, j'obtient l'inversion a la valeur 255 impossible de changer...

    Code:
    #include <mega8535.h>
    
    
    void init()
    {  
    DDRB.3=1; // OC0 en sortie
    TCCR0=0b00010001; //Toggle OC0 on Compare Match
    OCR0=128;
    }
     
    
    
    void main()
    {
    
    init(); 
    
    while(1)
    
    }
    Merci.

    -----

  2. #2
    invite85a93e3d

    Re : Programmation ultra basique, mais ca ne fonctionne pas..

    En fait j'obtient l'inversion à la valeur 1 du compteur.

    Il ne veut rien savoir et remet la valeur OCR0 à 1 systématiquement, j'ai exporter le programme sous AVR Studio et lancer une simulation.

    Lorsque je change les bite du registres ca revient immédiatement à la valeur 1!!

    Je pense que c'est un problème à la compilation/programmation du micro car je pense que mon code est correcte, j'assigne bien la valeur 128 à OCR0

  3. #3
    Seb.26

    Re : Programmation ultra basique, mais ca ne fonctionne pas..

    mets ton vrai code ... celui ci ne peut pas compiler, il manque un ';' après le while ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #4
    invite85a93e3d

    Re : Programmation ultra basique, mais ca ne fonctionne pas..

    Voilà:
    Code:
    #include <tiny13.h>
    
    
    void init()
    {
    
    SREG =      0b10000000; //global interrupt on
    TIMSK0 =     0b00000100; //interruption surcompare match
    TCCR0A =    0b01000010;  //Toggle OC1A on Compare Match
    TCCR0B =    0b00000001; //prescaler 1
    DDRB.0 = 1;
    DDRB.3=1;
    OCR0A=200;
    }
    
    interrupt[7] void capture(void)
    {
    PORTB.3=!PORTB.3;
    }
    
    
    void main(void)
    {   
    init();
    while(1)
    {
    }
    }
    J'ai donc mon signal provenant de port 3 qui s'inverse tout les 255 coups d'horloge (overflow interrupt)
    Et mon signal provenant de la comparaison au lieu de s'inverser tout les 200 coups, il est pratiquement identique au précédent, cad qu'il est à penne décaler d'un ou deux coups d'horloge en fait puisque la comparaison inverse à 1.

  5. A voir en vidéo sur Futura
  6. #5
    invite29971eb1

    Re : Programmation ultra basique, mais ca ne fonctionne pas..

    La config de ton TCCR0A indique que tu fais basculer ta sortie à chaque passage par OCR0A. De plus, tu indiques que la maximum de ton compteur est OCR0A.

    Donc il est normal que tes signaux soient identiques.

    Je me plante peut-être, mais je mettrais
    TCCR0A=0x01000000;

    c'est à dire mettre le timer en mode normal (overflow à 255)

  7. #6
    invite85a93e3d

    Re : Programmation ultra basique, mais ca ne fonctionne pas..

    En effet j'était passé en CTC (Clear Timer on Compare) pour un test.

    Et là ca fonctionne: avec OCR01 entre 0 et 128 les signaux de décalent, c'est à n'y rien comprendre.

    J'en déduit que le compteur compte de 0 à 128, et qu'en mode CTC il fait bien la comparaison mais ne revient pas à 0 et par contre en mode normal il fonctionne en fait en CTC avec OCR0A bloquer à 1 ??

Discussions similaires

  1. [Blanc] machine fonctionne, mais ne lave pas
    Par invitef2613ff3 dans le forum Dépannage
    Réponses: 18
    Dernier message: 14/08/2010, 14h12
  2. Connecté mais MSN ne fonctionne pas.
    Par invite25a67297 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 20/05/2007, 15h45
  3. Fonctionne bien mais ne lave pas .... :-(
    Par invitecc23301d dans le forum Dépannage
    Réponses: 4
    Dernier message: 14/10/2006, 22h13
  4. mes javascript:popupimage ne fonctionne pas sur mon site web mais fonctionne en local
    Par invite4ff499e4 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 28/01/2006, 18h31
  5. ping fonctionne mais pas internet
    Par invite59c80045 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 10
    Dernier message: 12/09/2005, 19h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...