Programme main

Fermé
naomisouki Messages postés 4 Date d'inscription vendredi 17 mars 2017 Statut Membre Dernière intervention 11 avril 2017 - Modifié le 26 avril 2017 à 10:36
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 26 avril 2017 à 10:38
Bonsoir tout le monde

J'ai du mal a faire l'organigramme de ce programme.
Merci de m'aider

#include "xparameters.h"
#include "xil_types.h"
#include "xil_io.h"

#include <stdio.h>
#ifdef XPAR_MICROBLAZE_ID
#  include "microblaze_sleep.h"
#endif

#include "xil_cache.h"
#include "platform.h"
#include "xgpio.h"
#include "xllfifo.h"
#include "xuartlite.h"
#include "fft.h"
#include "xbasic_types.h"
#include "stim.h"

void Acquisition();

XGpio   axi_gpio;
XLlFifo axi_llfifo;
int stim_buf[MAX_FFT_LENGTH];

int buf[MAX_FFT_LENGTH];
// FFT output data
//
int buf1[MAX_FFT_LENGTH];
// FFT output data


int main(void) {
    // Setup UART and enable caching
    init_platform();
    Xil_ICacheEnable();

    // ***** Local variables *****
    int status = 0;
    fft_config_t fft_params;
    int fft_buf[MAX_FFT_LENGTH];

    // FFT output data
    char c;

    // ***** Initialize drivers *****

    init_drivers();

    // ***** Initialize default FFT parameters *****

    fft_params.fft_len   = MAX_FFT_LENGTH; //1024;
    fft_params.fwd_inv   = FFT_FWD;
    fft_params.scale_sch = 0x2AB;

    run_fft(&fft_params, stim_buf, fft_buf);

    while (1) {
        xil_printf("r: Perform FFT using current parameters\n\r");
        xil_printf("p: Print FFT results\n\r");
        xil_printf("s: Print current stimulus to be used for the FFT operation\n\r");
        c = XUartLite_RecvByte(XPAR_UARTLITE_0_BASEADDR);
        xil_printf(".\n\r");

        if (c == 'r') {
            // Run FFT
            run_fft(&fft_params, stim_buf, fft_buf);
            xil_printf("FFT done\n\r");
        } else if (c == 'p') {
            print_results(&fft_params, fft_buf);
        } else if (c == 's') {
            print_results(&fft_params, stim_buf);
        } else if (c == 'm') {
            print_results(&fft_params, buf);
        } else {
            xil_printf("Invalid character. Please try again.\n\r");
        }
    }

    cleanup_platform();
    return 0;
}

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
26 avril 2017 à 10:38
Bonjour,

Je n'ai pas compris la question. Mais en tout cas ce que je peux déjà te dire à ce stade c'est que tes
if ... else if ...
pourraient être remplacé par un
switch case
, et que rien ne permet de sortir de ta boucle
while
.

Je t'invite à également bien indenter ton code (j'ai corrigé) et utiliser la mise en forme cpp en utilisant le 5e bouton au dessus de la boîte dans laquelle tu tapes ton message.

Bonne chance
0