//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