Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
далеко от совершенства но как-то так:
rlocalAdcFir:
; XAR4 - fir coefficients
; XAR0 - input data
; XAR1 - output
add *(#wAdcBufferPointer),ar1
add *(#wAdcBufferPointer),ar1
bset m40
mov #ADC_BURST_LENGTH/2-1,mmap(@brc0)
mov #24-1,mmap(@brc1)
mov #1,ar4
rptb $dma0_buffer0_fir1_ua-1
mov #0,ac1
rptb $dma0_buffer0_fir2_ua-1
mpym uns(*ar4-),*ar0+,ac0
macm *ar4,uns(*ar0-),ac0
macm *ar4,*ar0,ac0>>#16,ac0
add ac0,ac1
amar *+ar4(#3) ; next coeff
amar *+ar0(#-16) ; next input
$dma0_buffer0_fir2_ua:
mov ac1,dbl(*ar1+)
amar *+ar0(#16*24+16+16)
$dma0_buffer0_fir1_ua:
bclr m40
ret
Составить ответ | Вернуться на конференцию
Ответы