2 Replies Latest reply on Aug 10, 2016 2:00 PM by allan_intel

    Here is a problem and I do not what it is

    julian403

      Well, in the next code there is a problem becuase I can see nothing in the file.

       

       

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      int main()

      {

        FILE *archivo;

        archivo=fopen("archivo.txt","w+");

       

       

         snd_pcm_t *handle;

         snd_pcm_hw_params_t *params;

         unsigned int val;

         int dir;

         snd_pcm_uframes_t frames;

         char ** buffer;

       

         int prom=0;

         int ceros=0;

         int max=0;

       

         //Se inicia la placa de Sonido

         if(configurarSoundCar(&handle, &params, &frames, &val, &dir)==0)

         {

         return 0;

         }

         //termina el seteo de parámetros de la placa de sonido

       

       

         //En las filas de buffer están los frames, cada uno de 32 unidades.

        buffer=lecturaEntorno(handle, frames, val,  dir);

       

       

        int i;

        int j;

       

        int aux=0;

        for(i=0; i<10; i++)

        {

        for( j=0;j<32;j++)

        {

        aux=prom;

        prom= aux+ abs((int) buffer[i][j]);

        }

        }

       

       

        aux=prom;

        prom=aux/(320);

       

       

        for(i=0; i<10; i++)

        {

        for( j=0;j<32;j++)

        {

        if((buffer[i][j])==0)

        {

        ceros++;

        }

        }}

       

       

        for(i=0; i<10; i++)

        {

        for( j=0;j<32;j++)

        {

        if( (int)(buffer[i][j] ) >= max)

        {

        max=(int) buffer[i][j];

       

        }

        }}

       

       

        fprintf(archivo, "prom: %d \n", prom);

        fprintf(archivo, "ceros: %d \n", ceros);

        fprintf(archivo, "Max: %d \n", max);

        for(i=0; i<10; i++)

        {

        for( j=0;j<32;j++)

        {

        fprintf(archivo, "%d", buffer[i][j]);

        fprintf(archivo, "\n");

        }

        }

       

         snd_pcm_drain(handle);

         snd_pcm_close(handle);

         free(buffer);

       

         fclose(archivo);

        return MRAA_SUCCESS;

      }

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      but if I take off the next line:

       

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        for(i=0; i<10; i++)

        {

        for( j=0;j<32;j++)

        {

        if( (int)(buffer[i][j] ) >= max)

        {

        max=(int) buffer[i][j];

       

        }

        }}

      and

       

        fprintf(archivo, "Max: %d \n", max);

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      it's work. Why?