Connexion microcontrôleur et quartz - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 40 sur 40

Connexion microcontrôleur et quartz



  1. #31
    Gérard

    Re : Connexion microcontrôleur et quartz


    ------

    Il manque les résistances en série avec les LED !

    -----

  2. #32
    invite1d577638

    Re : Connexion microcontrôleur et quartz

    Et propose-nous un code... On en discute après.

  3. #33
    inviteb6b75063

    Re : Connexion microcontrôleur et quartz

    Je ne connais pas les AVR donc je peux me tromper mais :

    Page 82 de la doc :

    RESET, Reset pin: When the RSTDISBL Fuse is programmed, this pin functions as a normal I/Opin [...] When the RSTDISBL Fuse is unprogrammed, the reset circuitry is connected to the pin,

    Dans ta capture d'écran le Fuse est "unprogrammed" et pas de pull-up sur le pin reset

    Ensuite va a la page 261 :
    - Pull-up resistors on the dW/(RESET) line must not be smaller than 10kΩ.
    - Connecting the RESET pin directly to VCC will not work

    Voilà ! Il y a tout dans la doc ! Il faut la lire !

  4. #34
    invite37fe5588

    Re : Connexion microcontrôleur et quartz

    Bonjour, voici le code source que j'ai écrit.


    Code:
    /*
     * Timer_avec_quartz_2.c
     *
     * Created: 14/04/2015 13:24:02
     *  Author: utilisateur
     */ 
    
    
    
    
    
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <avr/wdt.h>
    #include <avr/signal.h>
    #include <util/delay.h>
    
    #define PER_1s 78125/10
    
    int compteur=0, commande=0 ;
    
    ISR(TIMER0_OVF_vect)
    {
    	compteur++ ;
    	if (compteur < PER_1s)
    	return ;
    	
    	compteur=0 ;
    	if (commande){
    	PORTD = 0x0F ;
    	PORTC = 0x00 ;
    	}	
    	else{
    	PORTC = 0x0F ;
    	PORTD = 0x00 ;}
    	commande =  ~ commande ;
    }
    
    /*ISR(WDT_vect)
    {
    	
    	if (commande==0)
    		PORTD = 0x0F ;
    	else
    		PORTC = 0x0F ;
    		
    	commande =  1 ;
    	
    	wdt_disable();
    	wdt_reset();
    	
    	_delay_ms(1000);
    		
    	PORTD = 0 ;
    	PORTC = 0 ;
    }
    */
    
    int main(void)
    {
    	//ASSR &=~(1<<EXCLK);
    	ASSR &=~(1<<0x07);
    	ASSR |=(1<<EXCLK);
    	ASSR|=(1<<AS2);
    	
    	DDRD = 0xFF ;
    	PORTD = 0xFF ;
    	//PORTD = 0 ;
    	
    	DDRC = 0xFF ;
    	PORTC = 0xFF ;
    	//PORTC = 0 ;
    	
    	DDRB = 0x0 ;
    	
    	/*wdt_disable();
    	wdt_reset();*/
    	
    	//WDTCSR |=(1<<WDIE);
    	
    	
    	/*wdt_enable(WDTO_1S);
    	WDTCSR = 0b01001000 ;*/
    	
    	TCCR0A = 0 ; // active le mode normal
    	//TCCR0A = 1;  // active le mode CTC
    	TCCR0B = 0b00000001 ;
    	TIMSK0 |= (1<<TOIE0);
    	
    	
    	sei();
    	
    	while(1)
    	{
    		
    	}
    }
    Merci
    Dernière modification par Antoane ; 15/04/2015 à 12h58. Motif: Réparation balises code

  5. #35
    invite1d577638

    Re : Connexion microcontrôleur et quartz

    Le prochain coup, utilises des balises CODE pour rendre ton code plus lisible... Là c'est une misère à lire ! (EDIT : la balise c'est des [] pas des <> ! )

    Pourquoi utiliser les timers et les interruptions ? Ya moyen de faire plus simple...

    Tu compiles avec quoi ? Tu dois pouvoir trouver une fonction delay__ms qui pourrait te rendre bien des services ! Cherche dans tes bibliothèques de code...!

  6. #36
    Gérard

    Re : Connexion microcontrôleur et quartz

    DEBUT:

    portB = 255
    portC = 0
    tempo1s
    portB = 0
    portC = 255
    tempo1s
    goto DEBUT

    Ne pas oublier l'initialisation et le mot de config.
    Tu traduis dans ton langage.

  7. #37
    invite1d577638

    Re : Connexion microcontrôleur et quartz

    Petit indice également si tu utilises une fonction de délai : il est impératif de déclarer la vitesse de ton quartz dans l'en tête du programme, puis de suivre une trame de programme comme celle proposée par Gérard. Il n'y a pas plus simple !!

  8. #38
    invite37fe5588

    Re : Connexion microcontrôleur et quartz

    Merci à vous pour ces explications.
    Au fait, Yoruck excuses moi mais quand tu dis de définir la vitesse de mon quartz,
    je crois que c'est ça que j'ai voulu faire en faisant
    #define PER_1s 78125/10
    Mais apparemment cela ne marche. Sinon pourrais tu stp m'expliquer comment bien procéder?
    Merci

  9. #39
    invite1d577638

    Re : Connexion microcontrôleur et quartz

    Cherche des exemples de code utilisant des délais... La vitesse du quartz est à indiquer dans l'en-tête de programme. En tout cas #define PER_1s 78125/10 ne ressemble pas à ce type de déclaration. Et normalement tu donnes la valeur directe du quartz, pas une division étrange.

  10. #40
    invite37fe5588

    Re : Connexion microcontrôleur et quartz

    OK merci. Je comprend maintenant ce que tu dis.
    Cordialement

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Quartz 2 pins connexion à une seul entrée clock ?
    Par inviteeae25a15 dans le forum Électronique
    Réponses: 7
    Dernier message: 20/04/2014, 19h06
  2. Condensateurs d'un quartz pour Microcontrôleur
    Par inviteee3784f6 dans le forum Électronique
    Réponses: 2
    Dernier message: 10/05/2013, 13h55
  3. Oscillateur à quartz pour microcontroleur
    Par invitee5ab5fef dans le forum Électronique
    Réponses: 10
    Dernier message: 31/03/2013, 14h44
  4. connexion PC/microcontroleur
    Par invitecfe117f0 dans le forum Électronique
    Réponses: 0
    Dernier message: 19/10/2008, 19h31
  5. Problème: Microcontroleur et quartz
    Par invite210a2fe1 dans le forum Électronique
    Réponses: 4
    Dernier message: 31/03/2007, 21h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...