我正在尝试通过 Fez Panda 2 从麦克风获取声音样本。我正在使用 rlp 来实现这一点。这是我的代码:
int GHAL_AnalogIn_Read(unsigned char channel)
{
return ((*((int*)(ADC_DATA_BASE_ADDRESS) + channel)) >>8) & 0x3FF;
}
int ReadAudio(unsigned int *generalArray, void **args, unsigned int argsCount ,unsigned int *argSize)
{
unsigned char *buffer = (unsigned char*)args[0];
int buffer_lengh = argSize[0];
unsigned char channel = *(unsigned char*)args[1];
int i=0;
while(i<buffer_lengh)
{
buffer[i] = GHAL_AnalogIn_Read(channel);
i++;
RLPext->Delay(100);
}
return 0;
}
问题是我需要浮点值而不是 unsigned char,因为我正在对这些声音样本执行 fft。所以我需要修改来为我提供浮点值。有任何想法吗?