[Programmation] ATmega644 problème avec SPI
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

ATmega644 problème avec SPI



  1. #1
    myster1ous

    ATmega644 problème avec SPI


    ------

    Bonjour,

    Je n'arrive pas à faire communiquer mon Atmega par SPI en mode master. Après plusieurs heures à bloquer sur ce problème j'ai réduit le programme au maximum mais toujours rien.

    Information utile : Je programme en c (avec WINAVR) sur un ATmega644 cadencé à 20Mhz. J'utilise un oscilloscope pour visualiser le signal.

    Voici le programme :
    Code:
    #include <avr/io.h>
    
    
    #define F_CPU 20000000UL
    
    
    
    int main (void) 
    {
    	
        // make the MOSI, SCK, and SS pins outputs
        DDRB |= ( 1 << PB5 ) | ( 1 << PB7 ) | ( 1 << PB4 );
    	PORTB |= (1 << PB4); // SS high 
    	
        // make sure the MISO pin is input
        DDRB &= ~( 1 << PB6 );
     
        // set up the SPI module: SPI enabled, MSB first, master mode,
        //  clock polarity and phase = 0, F_osc/8
    	SPCR = 0b01010001;
        SPSR = 0b00000001;     // set double SPI speed for F_osc/8
     
    	//------------------------------------------------------------------------
    	PORTB &= ~( 1 << PB4); 	//PB4 low
    	SPDR = 10;                            
    	while ( ! ( SPSR & ( 1 << SPIF )));		
    	PORTB |= (1 << PB4); 		//PB4 high
    	
    	while (1) 
    	{ 	
    		
    		
    	}
    	return 1;
    }
    Sur l'oscillo, je n'observe que la broche PB4 passer de 1 à 0. Rien d'autre ne se produit... même pas d'horloge.

    J'ai vérifié (et fait vérifié) mon montage à plusieurs reprise, il est correct.

    Une idée ?

    -----

  2. #2
    Aurélien

    Re : ATmega644 problème avec SPI

    Verifies que tu n'as pas mis la broche /SS en entrée et qu'elle n'est pas à 0....c'est le gros probleme du SPI sur les AVR, en master tu ne peux pas désactiver le /SS, laquelle si elle est configurée en entrée désactive automatiquement le mode master si elle voit un niveau 0 (gestion multi master en fait).

    Aurélien

Discussions similaires

  1. problème avec l'utilisation de multimetre avec carte mère
    Par sidouo dans le forum Électronique
    Réponses: 22
    Dernier message: 11/11/2015, 13h02
  2. Problème avec la SynScan avec la monture HEQ5 Pro GoTo
    Par zaqiel dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 9
    Dernier message: 04/07/2015, 09h17
  3. Problème avec Inéquation avec valeur absolue et racine
    Par inviteda7b675e dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 23/09/2011, 18h48
  4. Réponses: 0
    Dernier message: 26/04/2011, 21h25
  5. Réponses: 10
    Dernier message: 22/03/2009, 10h34
Découvrez nos comparatifs produits sur l'informatique et les technologies.