Forum: Digitale Signalverarbeitung / DSP / Machine Learning Moduloberechnung


von Mathias K. (underworldgamer)


Lesenswert?

void main(void)
{
  PCTL.I = 0x040006;        /* run DSP at 7*12.288 = 86.016MHz */

    ssi_init();                     /* set up HW registers, start SSI 
I/O */

  m = 1; i = 0;

    for(; ;) {                     /* forever */
    ssi_wait_for_codec();
      if (i == 0) {
     txdata.d.i.audio_left  = rxdata.d.i.audio_left;
        txdata.d.i.audio_right = rxdata.d.i.audio_right;  }
    i++;
    i%=m;

  }
}



wia funktioniert das programm bzw ich komme nicht mit dieser Anweisung 
zurecht.

                i++;
    i%=m;


mfg Mathias

von asdf (Gast)


Lesenswert?

i %= m ist i = i % m

mit m = 1 macht das aber wenig sinn, da i dann immer == 0 ist und der if 
block wird immer ausgeführt, dann kann man die abfrage auch weg lassen.

wenn m aber zB 2 ist, wird der if block nur jeden zweiten 
schleifendurchlauf ausgeführt, mit m = 3 jedes dritte mal usw..

von Mathias K. (underworldgamer)


Lesenswert?

besten Dank :)

von jonas biensack (Gast)


Lesenswert?

und hier willst du wohl m=2 haben, den du hast ja immer 2 Samples (links 
rechts)...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.