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
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..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.