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

can atmega 8535



  1. #1
    étudiant33

    Talking can atmega 8535


    ------

    Bonjour à tous; g doi réaliser un can avec le logiciel atmega 8535
    j'ai dejà un début mais çela ne marche pas comme je le souhaite...
    Quelqu'un n'aurait t-il pas quelque chose de mieux à me proposer?

    mon début est içi:


    Code:
    #include <avr/io.h>    //Cette ligne est obligatoire. Elle permet d n'écrire qu'un programme pour tous les AVR.
    #include <stdio.h>
    #include <util/delay.h>
    
    #include <stdlib.h>
    #include <math.h>
    
    
    
    
    
    int i,j;
    float a,val_convertie; 
    void can_init (void);
    unsigned int ADC_PRESCALER;
    #define  FOSC < 16000   //Fréquence d'horloge du CPU en Hz (Attention 16M par défaut)
    #define ADC_FULL_RANGE       ((Nmax)(0x03FF))   // 10-bit ADC
    #define INTERNAL_VREF_VALUE  ((Vmax)(   256))   // 2.56 Volts
    #define Get_vref()   ( ADMUX & ((1<<REFS1)|(1<<REFS0)) )
    #define Start_conv()         (ADCSRA &= ~(1<<ADATE), ADCSRA |=  (1<<ADSC))
    #define Disable_adc()                    (ADCSRA &= ~(1<<ADIE))
    #define Clear_adc_it_flag()                  (ADCSRA |=  (1<<ADIF)) 
    
    
    
    
    
    
    void TMega_port_init (void)
    
     {
      DDRA=0xFF;    //Cela permet de configurer les PORTx en sortie
      DDRB=0xFF;
      DDRD=0xFD;
     }
    
    
    void can_init (void)
    	{
       
         ADCSRA=_BV(ADEN) |_BV(ADPS2) | _BV(ADPS1); //prédivision de l'horloge par 64
         //ADMUX= _BV(REFS0);  // Tension de reference
    	 // ADCSRB |=  (1<<HSM));  //vitesse 
        }
    
    
    
     void can_conversion (unsigned char *poidsfort, unsigned char *Poidsfaible)	
     {
                      
          ADMUX= 0xE2; //means that RFS[1,0]=3 ADLAR=1 and MUX[4:0]=2 
    
    
    	  while(ADCSRA &(0x40));
    	   
          *Poidsfaible=ADCL;
          *poidsfort= ADCH;
      }
    
       int main(void)
    
    	                                                     {
    
    	unsigned char voiechoisie, niveauhaut,niveaubas;
         
         TMega_port_init();
         can_init();
    
          do
    	  {
        
    	       if ( Get_vref() == ((1<<REFS1)|(1<<REFS0)) )
                             {
            for (j=0; j<0x3FF;j++) //{asm("nop");asm("nop");}   // Presclaler=6 car [adps]=0x06;
                             }
    	     
    		  can_conversion (&niveauhaut,&niveaubas);
    		  Start_conv();
              PORTB= &niveaubas;
    		  PORTD= &niveauhaut; 
    		  
              while(ADIF!=1);
    
           Clear_adc_it_flag();            // Clear ADIF flag     
    	    
          
      
    	
    
           return PORTB;
    	   return PORTD;
    
          }  
    while(1);

    -----
    Dernière modification par yoda1234 ; 25/04/2008 à 13h43.

  2. #2
    yoda1234

    Re : can atmega 8535

    Citation Envoyé par étudiant33 Voir le message
    Quelqu'un n'aurait t-il pas quelque chose de mieux à me proposer?
    Bonjour,

    oui d'écrire en français afin de te conformer à notre charte qui dit:

    Respectez les lecteurs du forum, n'écrivez pas vos messages en style SMS ou phonétique. Utilisez la fonction "prévisualisation" pour vous relire et limiter les fautes d'orthographe.
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

Discussions similaires

  1. Programmation ATMEL 8535
    Par vincenth69 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 10/07/2008, 09h03
  2. atmega 8
    Par lampard123 dans le forum Électronique
    Réponses: 1
    Dernier message: 11/02/2008, 11h04
  3. Vref de l'ATMEGA 8535
    Par steffff dans le forum Électronique
    Réponses: 2
    Dernier message: 15/04/2005, 13h02
  4. circuit de reset de l'ATMEGA 8535
    Par steffff dans le forum Électronique
    Réponses: 6
    Dernier message: 15/04/2005, 13h00
  5. AVR 8535 et Port
    Par zanzeoo dans le forum Électronique
    Réponses: 6
    Dernier message: 30/07/2004, 16h30
Découvrez nos comparatifs produits sur l'informatique et les technologies.