De_ES 2113
Make a dice
 
Loading...
Searching...
No Matches
main.c File Reference
#include "Main.h"
#include "Mc32Delays.h"
#include "mcc_generated_files/system.h"
#include "mcc_generated_files/spi1.h"
#include "mcc_generated_files/pin_manager.h"
#include "Accelerometre.h"
#include "DeElectronique.h"
#include "mcc_generated_files/tmr1.h"
#include <stdbool.h>
#include <stdlib.h>
Include dependency graph for main.c:

Functions

int main (void)
 Point d'entrée principal de l'application.
 
void APP_TMR1_CallBack (void)
 Callback du timer 1, décrémente le délai stocké dans AppData.
 
void APP_WaitStart (uint16_t waitingTime_ms)
 Attente bloquante pendant un temps donné en ms (utilise le timer 1).
 
void SetStates (states newstate)
 Change l'état courant de l'application.
 
void APP_CORETIMER_CALLBACK (void)
 Callback du core timer pour gérer la variation de RC.
 

Variables

appData appdata
 

Function Documentation

◆ APP_CORETIMER_CALLBACK()

void APP_CORETIMER_CALLBACK ( void )

Callback du core timer pour gérer la variation de RC.

◆ APP_TMR1_CallBack()

void APP_TMR1_CallBack ( void )

Callback du timer 1, décrémente le délai stocké dans AppData.

End of File

◆ APP_WaitStart()

void APP_WaitStart ( uint16_t waitingTime_ms)

Attente bloquante pendant un temps donné en ms (utilise le timer 1).

Lance une attente bloquante pendant un temps donné (ms).

Parameters
waitingTime_msDurée d'attente en millisecondes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( void )

Point d'entrée principal de l'application.

Returns
1 en cas de fin de programme

Initialisation de l'application.

  • Configure le système et les périphériques.
  • Définit les valeurs par défaut des variables d'état.
  • Vérifie l'absence d'interruption pour configurer l'accéléromètre.
  • Passe à l'état d'attente d'interruption.

Attente d'une interruption de l'accéléromètre.

  • Lit le registre d'état de l'accéléromètre.
  • Vérifie les interruptions de type "shake" et "any motion".
  • Si une interruption est détectée et que c'est la première fois depuis la mise sous tension, passe à l'état de calcul.

Calcule la valeur pseudo-aléatoire du dé à partir des registres de l'accéléromètre.

  • Additionne les valeurs des axes X, Y, Z pour obtenir une graine.
  • Utilise srand/rand pour générer un nombre pseudo-aléatoire.
  • Garantit que le résultat est compris entre 1 et 6 (jamais 0).
  • Passe à l'état d'affichage.

Prépare l'affichage du résultat sur les LEDs.

  • Initialise le rapport cyclique PWM (RC) à 10.
  • Active l'affichage (disp=1).
  • Passe à l'état d'attente d'affichage.

Lance l'attente d'affichage du résultat.

  • Démarre l'attente bloquante (affichage du dé).
  • Passe à l'état d'extinction.

Éteint les LEDs et met le système en veille si aucune interruption n'est détectée.

  • Éteint l'affichage.
  • Efface les interruptions de l'accéléromètre.
  • Si aucune interruption, coupe l'alimentation et boucle infinie pour arrêt total.
Here is the call graph for this function:

◆ SetStates()

void SetStates ( states newstate)

Change l'état courant de l'application.

Parameters
newstateNouvel état à appliquer
Here is the caller graph for this function:

Variable Documentation

◆ appdata

appData appdata

Generated main.c file from MPLAB Code Configurator

@Company Microchip Technology Inc.

@File Name main.c la

@Summary This is the generated main.c using PIC24 / dsPIC33 / PIC32MM MCUs.

@Description This source file provides main entry point for system intialization and application code development. Generation Information : Product Revision : PIC24 / dsPIC33 / PIC32MM MCUs - 1.75.1 Device : PIC32MM0064GPL020 The generated drivers are tested against the following: Compiler : XC16 v1.35 MPLAB : MPLAB X v5.05 Section: Included Files