Aide compréhension programme C
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Aide compréhension programme C



  1. #1
    Daidai74

    Aide compréhension programme C


    ------

    Bonjour,
    Pouvez-vous m'aider à comprendre ce programme ? C'est une alarme qui détecte les mouvements grâce à 2 interrupteur au mercure. Le MicroC est un Attiny 13.
    Je comprends pas du tout la partie en gras. Ceci est un extrait du programme.
    Comment je peux le modifier si je veux remplacer les SW mercure par ceux-ci https://www.sparkfun.com/products/retired/12011
    Merci

    Code:
    /*-------------------------------------------------------------------------
      I Fonction     : main                                                   I
      -------------------------------------------------------------------------
      I Action       : Programme principal                                    I
      I Param entrée : Rien                                                   I
      I Retour       : Rien                                                   I
      I                                                                       I
      ------------------------------------------------------------------------*/
    void main(void)
    {
       byte memo_sw;                                      // Etat des détecteurs de choc
       
       [B][B]// Crystal Oscillator division factor: 1
       #pragma optsize-
       CLKPR=0x80;
       CLKPR=0x00;
       #ifdef _OPTIMIZE_SIZE_
       #pragma optsize+
       #endif
       
       // Input/Output Ports initialization
       // Port B initialization
       // Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out 
       // State5=P State4=P State3=P State2=P State1=P State0=0 
       PORTB=0x3E;
       DDRB=0x02;
       
       // Timer/Counter 0 initialization
       // Clock source: System Clock
       // Clock value: 0,500 kHz
       // Mode: CTC top=OCR0A
       // OC0A output: Disconnected
       // OC0B output: Disconnected
       TCCR0A=0x02;
       TCCR0B=0x04;
       TCNT0=0x00;
       OCR0A=0x31;
       OCR0B=0x00;
          
    
       // External Interrupt(s) initialization
       // INT0: Off
       // Interrupt on any change on pins PCINT0-5: Off
       GIMSK=0x00;
       MCUCR=0x00;
       
       // Timer/Counter 0 Interrupt(s) initialization
       TIMSK0=0x04;
       
       // Analog Comparator initialization
       // Analog Comparator: Off
       ACSR=0x80;
       ADCSRB=0x00;
       
       // Global enable interrupts
       #asm("sei");
    
      // Petit bip à la mise sous tension
       OUT_ALARM = 1;
       delay_ms(20);
       OUT_ALARM = 0;

    -----
    Dernière modification par JPL ; 24/08/2015 à 18h11. Motif: Ajout de la balise Code (#)

  2. #2
    Daidai74

    Re : Aide compréhension programme C

    La partie en gras correspond à l'extrait

  3. #3
    bisou10

    Re : Aide compréhension programme C

    C'est vaste la partie en gras.... il initialise le micro controleur, broches, timer, adc, et il fait un bip sur le buzzer.

  4. #4
    Daidai74

    Re : Aide compréhension programme C

    Pouvez-vous m'expliquer son fonctionnement svp ? (par exemple: "le 1er paragraphe correspond à...; le 2e à...; etc.).
    Je souhaite après modifier le programme: je souhaite par la suite remplacer les 3 SW mercure par un interrupteur tilt ( celui-ci: https://www.sparkfun.com/products/retired/12011)
    Es-ce possible ? Comment procéder ?
    Merci beaucoup

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

    Re : Aide compréhension programme C

    Ben je n'aurais pas grand chose de plus à ajouter que les commentaires.... Si tu ne veux pas te taper la doc du microcontroleur, tu n'y arriveras pas.

  7. #6
    Daidai74

    Re : Aide compréhension programme C

    En gros je dois taper sur internet la datasheet du microcontrôleur utilisé pour ce projet, ensuite la lire ?
    Dans la datasheet, Atmel me dira à quoi correspond tous ces codes ?

  8. #7
    JPL
    Responsable des forums

    Re : Aide compréhension programme C

    J'ai déplacé la discussion vers Électronique, forum qui me semble plus adapté.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  9. #8
    bisou10

    Re : Aide compréhension programme C

    Citation Envoyé par Daidai74 Voir le message
    En gros je dois taper sur internet la datasheet du microcontrôleur utilisé pour ce projet, ensuite la lire ?
    Dans la datasheet, Atmel me dira à quoi correspond tous ces codes ?
    Ben.... oui. Ce ne sont pas des codes miracles, ce sont la configuration des registres du MCU. PORTB = x signifie qu'on met les bits du port B dans un etat choisi - précisement 00111110 et DDRB = 0x2 signifie que le pins du port B sont définies comme des entrées et/ou des sorties.

    Y'a tout dans la datasheet.

  10. #9
    freepicbasic

    Re : Aide compréhension programme C

    Je comprends pas du tout la partie en gras. Ceci est un extrait du programme.
    il n'y a rien en gras !

    Comment je peux le modifier si je veux remplacer les SW mercure par ceux-ci https://www.sparkfun.com/products/retired/12011
    Sur le datasheet.C'est un contact de masse!
    Il n'y a pas la partie qui traite les contacts sur le code !
    Si c'estun pull up avec contact de masse, il n'y a rien à faire...
    A+, pat

  11. #10
    Daidai74

    Re : Aide compréhension programme C

    Est-ce que se sont les memes datasheet entre Attiny 13, 13A, etc ?
    Seconde question: Es ce possible de modifier le programme: je souhaite par la suite remplacer les 3 SW mercure par un interrupteur tilt ( celui-ci: https://www.sparkfun.com/products/retired/12011)
    Es-ce possible ? Comment procéder ?
    Merci et bonne journée

  12. #11
    freepicbasic

    Re : Aide compréhension programme C

    ou es la partie qui traite les switches ?
    A+, pat

Discussions similaires

  1. [Python] difficulté compréhension programme
    Par Jereflechis dans le forum Programmation et langages, Algorithmique
    Réponses: 13
    Dernier message: 25/08/2015, 14h40
  2. Compréhension programme de gestion d'anémomètre
    Par YannLognes dans le forum Électronique
    Réponses: 2
    Dernier message: 13/04/2015, 20h02
  3. Réponses: 2
    Dernier message: 08/01/2015, 15h04
  4. Compréhension d'un programme
    Par flyingrock dans le forum Électronique
    Réponses: 12
    Dernier message: 08/05/2012, 14h03
  5. compréhension d'un programme assembleur pour afficher un afficheur lcd.
    Par invite71a200f7 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/03/2012, 11h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.