[an error occurred while processing this directive]
|
Все понятно. Не могу сообразить, как передать в асм-функцию адреса массивов с отсчетами и коэффициентами:
unsigned char low_pass_filter (unsigned char sample)
{
unsigned long int out_lp;
unsigned char i;
//Выходной отсчет, помноженный на 4096
out_lp=0;
//Buffer_Lp - массив отсчетов входного сигнала
//Coeffs_Lp - массив коэффициентов ЦФ
buffer_lp[offset_input]=sample;
for (i=0;i<32;i++) out_lp=out_lp + buffer_lp[(offset_input-i)&0x1f]*coeffs_lp[i];
offset_input=(offset_input+1)&0x1f;
return (out_lp>>12); //Деление выходного отсчета на 4096
}