Construction du tampon d'envoi en dehors de la boucle de performance

This commit is contained in:
Samuel 2025-09-10 13:03:19 +02:00
parent dcc3889845
commit 148d53fa86
2 changed files with 28 additions and 11 deletions

View File

@ -1,5 +1,5 @@
{ {
"files.associations": { "files.associations": {
"stdio_usb.h": "c"
} }
} }

37
main.c
View File

@ -6,17 +6,37 @@
#include "pico/stdlib.h" #include "pico/stdlib.h"
#include <stdio.h> #include <stdio.h>
void stdio_usb_out_chars(const char *buf, int length);
#define NB_MORCEAUX 100 #define NB_MORCEAUX 100
absolute_time_t envoie_nb_char(int nb_char); absolute_time_t envoie_nb_char(int nb_char);
char message[10000];
void envoie_donnees(char * donnees, u_int16_t length){
for (int i=0; i<length; i++){
putchar(donnees[i]);
}
}
void main(void) void main(void)
{ {
absolute_time_t measured_time_us; absolute_time_t measured_time_us;
absolute_time_t temps_moyen, temps_max, temps_m[NB_MORCEAUX]; absolute_time_t temps_moyen, temps_max, temps_m[NB_MORCEAUX];
absolute_time_t current_time_us, start_time_us; absolute_time_t current_time_us, start_time_us;
for(int i=0; i<10000; i++){
/*j++;
if(j>25){
j=0;
}
message[i]= j + 'a';*/
message[i]= i%26 + 'a';
}
int nb_ech = 10; int nb_ech = 10;
int taille_morceau = 120; int taille_morceau = 60;
stdio_init_all(); stdio_init_all();
while(1){ while(1){
temps_moyen = 0; temps_moyen = 0;
@ -26,6 +46,7 @@ void main(void)
temps_max = 0; temps_max = 0;
start_time_us = get_absolute_time(); start_time_us = get_absolute_time();
temps_m[i] = envoie_nb_char(taille_morceau); temps_m[i] = envoie_nb_char(taille_morceau);
//temps_m[i] = i;
current_time_us = get_absolute_time(); current_time_us = get_absolute_time();
sleep_ms(1); sleep_ms(1);
} }
@ -41,15 +62,7 @@ void main(void)
absolute_time_t envoie_nb_char(int nb_char) { absolute_time_t envoie_nb_char(int nb_char) {
absolute_time_t current_time_us, start_time_us; absolute_time_t current_time_us, start_time_us;
int j=0; int j=0;
char message[10000];
for(int i=0; i<10000; i++){
/*j++;
if(j>25){
j=0;
}
message[i]= j + 'a';*/
message[i]= i%26 + 'a';
}
if (nb_char == 0){ if (nb_char == 0){
return 0; return 0;
} }
@ -57,6 +70,10 @@ absolute_time_t envoie_nb_char(int nb_char) {
message[nb_char] = '\0'; message[nb_char] = '\0';
start_time_us = get_absolute_time(); start_time_us = get_absolute_time();
printf("%s", message); printf("%s", message);
envoie_donnees(message, strlen(message));
current_time_us = get_absolute_time(); current_time_us = get_absolute_time();
message[nb_char - 1] = 'a';
message[nb_char] = 'a';
return current_time_us - start_time_us; return current_time_us - start_time_us;
} }