Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Programmation ultra basique, mais ca ne fonctionne pas..



  1. #1
    Canaillou2k5

    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. Publicité
  3. #2
    Canaillou2k5

    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

  4. #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. >>

  5. #4
    Canaillou2k5

    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.

  6. #5
    ftorama

    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)
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  7. A voir en vidéo sur Futura
  8. #6
    Canaillou2k5

    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 ??

  9. Publicité

Sur le même thème :

Discussions similaires

  1. [Blanc] machine fonctionne, mais ne lave pas
    Par ententiste dans le forum Dépannage
    Réponses: 18
    Dernier message: 14/08/2010, 13h12
  2. Connecté mais MSN ne fonctionne pas.
    Par grayfox27 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 20/05/2007, 14h45
  3. Fonctionne bien mais ne lave pas .... :-(
    Par LarryHalden dans le forum Dépannage
    Réponses: 4
    Dernier message: 14/10/2006, 21h13
  4. mes javascript:popupimage ne fonctionne pas sur mon site web mais fonctionne en local
    Par cead5311 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 28/01/2006, 17h31
  5. ping fonctionne mais pas internet
    Par ltaillan dans le forum Internet - Réseau - Sécurité générale
    Réponses: 10
    Dernier message: 12/09/2005, 18h55