A bug in the code compiler by the looks of it. If you look at the assembly generated from that code, it seems to completely omit setting the array index for the write operation - so the read value ends up being written back to the same place it came from!
I've tried a few other scenarios too - using two different arrays i.e. x[a]=y[b] , or having the read array inside a longer mathematical expression, e.g. x[a]=2*(y[b]+1); these also have the same problem - no destination Index gets calculated.
So you simply can't have an array on both sides of an assignment operation, and will always need the intermediate variable.
Andrew J ·
For longer buffers it'd be more efficient to move the index rather than reassign the contents of the array anyway. See here if you don't know what I mean.
mHz ·
Hey J Wasnt it you that did some oversampling? 🙂
mHz ·
And btw that`s becouse you can`t store an array into an array location.
There`s yust not enough memory.. You gotta understand?.
If it`s yust a one sample delay you want, you don`t have to use this variable type.
infuzion ·
I don't think "buffer[0]=buffer[1];" will work; might have to use a middle-man variable, or program directly in ASM.
Wrote something here? To have a post removed or your name hidden, write to [email protected].