Projet

Général

Profil

Actions

Feature #13528

fermé

Mesure temps execution sprintf sur carte STM32

Ajouté par Anonyme il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Début:
29/10/2021
Echéance:
% réalisé:

100%

Temps estimé:
(Total: 4:00 h)
Sprint:

Description

Mesurer le temps d’exécution de l'écriture d'un unsigned int de 32 bits (uint32_t) en décimal dans une chaine de caractère via les fonctions :
- sprintf() (stdio.h)
- itoa() () (stdlib.h)
- printUint32() (voir code ci-dessous)

Les tests doivent être effectué sur le carte STM32F412G-DISCO.

Lien vers l'IDE : https://www.st.com/en/development-tools/stm32cubeide.html
(prendre version 1.7.0)

Lien vers le site constructeur de la carte : https://www.st.com/en/evaluation-tools/32f412gdiscovery.html
Lien vers la référence du uC pour doc périphérique + hal : https://www.st.com/en/microcontrollers-microprocessors/stm32f412zg.html

Utiliser la version de firmware V1.26.2

N'hésitez pas à passer en salle D106 si vous avez des questions.

Code de la fonction :
void printChar(uint8_t in, uint8_t out2) {
if ((in >> 4) < 0xA) {
out0 = (in >> 4) + '0';
}
else {
out0 = (in >> 4) + 0x37;
}

if ((in & 0x0F) < 0xA)
{
out[1] = (in & 0x0F) + '0';
}
else {
out[1] = (in & 0x0F) + 0x37;
}
}

void printUint32(uint32_t in, uint8_t out8) {
uint8_t tmp;
int8_t i;
uint8_t j = 0;
for (i = 3; i >= 0; i--) {
tmp = in >> (i << 3); // in >> i*8
printChar(tmp, &out[j]);
j += 2;
}
}


Fichiers


Sous-tâches 1 (0 ouverte1 fermée)

Task #13654: Mesurer temps exécution sprintf Closed29/10/2021

Actions
Actions

Formats disponibles : Atom PDF