//59jag
//calcul le nombre de cycles d horloge de 13.89ns(72Mhz)
#include <Arduino.h>

// Définir les registres DWT et DEMCR pour le compteur de cycles
#define DWT_CYCCNT  *(volatile uint32_t *)0xE0001004
#define DWT_CONTROL *(volatile uint32_t *)0xE0001000
#define SCB_DEMCR   *(volatile uint32_t *)0xE000EDFC
uint32_t start;
uint32_t stop;
uint32_t duree;
void setup() {
  Serial.begin(9600);
  // Activer le compteur de cycles d'horloge
  SCB_DEMCR |= 0x01000000;
  DWT_CONTROL |= 1;
}

void loop() {
  // Réinitialiser le compteur de cycles
  start = DWT_CYCCNT;
  //DWT->CYCCNT = 0;
 
  // Exécuter la fonction à mesurer
  maFonction();
  stop = DWT_CYCCNT;
  // Lire le nombre de cycles écoulés
  duree = stop - start;
  Serial.print("Nombre de cycles : ");
  Serial.println(duree);

  // Attendre avant de refaire la mesure
  delay(1000);
}

void maFonction() {
  // La fonction à mesurer
  delay(100);
    // Un peu de temps pour simuler une charge
  
}
stm32:B12
stm32:B13
stm32:B14
stm32:B15
stm32:A8
stm32:A9
stm32:A10
stm32:A11
stm32:A12
stm32:A15
stm32:B3
stm32:B4
stm32:B5
stm32:B6
stm32:B7
stm32:B8
stm32:B9
stm32:5V.1
stm32:GND.1
stm32:3V3.1
stm32:GND.2
stm32:GND.3
stm32:3V3.2
stm32:R
stm32:B11
stm32:B10
stm32:B1
stm32:B0
stm32:A7
stm32:A6
stm32:A5
stm32:A4
stm32:A3
stm32:A2
stm32:A1
stm32:A0
stm32:C15
stm32:C14
stm32:C13
stm32:VBAT
led1:A
led1:C