Test de performance USB CDC

This commit is contained in:
Samuel 2025-08-27 09:23:44 +02:00
parent 52dfbc2ead
commit 6f6340abe1
2 changed files with 44 additions and 3 deletions

View File

@ -21,7 +21,7 @@ target_link_libraries(Modele_RPiPico
)
pico_enable_stdio_usb(Modele_RPiPico 1)
pico_enable_stdio_uart(Modele_RPiPico 1)
pico_enable_stdio_uart(Modele_RPiPico 0)
pico_add_extra_outputs(Modele_RPiPico)
@ -29,3 +29,6 @@ add_custom_target(Flash
DEPENDS Modele_RPiPico
COMMAND sudo picotool load -f ${PROJECT_BINARY_DIR}/Modele_RPiPico.uf2
)
# Suppression de la conversion automatique LF -> CRLF
add_definitions(-DPICO_STDIO_ENABLE_CRLF_SUPPORT=0)

42
main.c
View File

@ -6,11 +6,49 @@
#include "pico/stdlib.h"
#include <stdio.h>
absolute_time_t envoie_nb_char(int nb_char);
void main(void)
{
absolute_time_t measured_time_us;
absolute_time_t temps_moyen, temps_max;
int nb_ech = 10;
stdio_init_all();
while(1){
printf("Exemple\n");
sleep_ms(1000);
temps_moyen = 0;
temps_max = 0;
for(int nb_char = 1; nb_char < 1000; nb_char+= 1){
temps_moyen = 0;
temps_max = 0;
for(int ech=0; ech<nb_ech; ech ++){
measured_time_us = envoie_nb_char(nb_char);
if(measured_time_us > temps_max){
temps_max = measured_time_us;
}
temps_moyen += measured_time_us;
}
temps_moyen = temps_moyen / nb_ech;
printf(">temps:%d:%lld#us\n", nb_char, temps_moyen);
printf(">temps_max:%d:%lld#us\n", nb_char, temps_max);
sleep_ms(5);
}
sleep_ms(50);
}
}
absolute_time_t envoie_nb_char(int nb_char) {
absolute_time_t current_time_us, start_time_us;
char message[10000];
for(int i=0; i<10000; i++){
message[i]= i%26 + 'a';
}
if (nb_char == 0){
return 0;
}
message[nb_char - 1] = '\n';
message[nb_char] = '\0';
start_time_us = get_absolute_time();
printf("%s", message);
current_time_us = get_absolute_time();
return current_time_us - start_time_us;
}