Hallo Zusammen,
ich habe hier ein kleines Cast-Problem, dass ich ohne Hilfe nicht lösen
kann :-(.
Hiintergrund, ich möchte die FFT-Routine aus diesem Projekt
Beitrag "[C] AVR-Lichtorgel per FFT MEGA8 32 644" , in einem anderen
Projekt einsetzen, hierfür habe ich die ADC-Wandlung in den Interrupt
verlagert und lasse das Array capture dort füllen. Ist das Array
gefüllt, wird ein Flag gesetzt und die Mainroutine macht den Rest. Damit
aber wärend der FFT kein zu großer Leerlauf entsteht, war meine
Überlegung, das Array umzukopieren und die FFT auf der Kopie
durchzuführen. Wärend dessen kann der ADC-Interrupt das Array mit neuen
Daten füllen.
Meine Definition:
1 | volatile int16_t capture[FFT_N];
|
2 | int16_t capture_fft[FFT_N];
|
das Problem:
1 | memcpy( capture, capture_fft, sizeof(capture) );
|
2 | memset( capture, 0, sizeof(capture) );
|
Warning:
1 | warning: passing argument 1 of 'memcpy' discards qualifiers from pointer target type
|
Ich komme leider nicht dahinter, wie ich capture casten muss, damit die
Warnung verschwindet.
Gruß
Frank