本帖最后由 lvehe 于 2016-6-7 15:47 编辑
目前仅实现单一的USB Microphone录音功能,没有Speaker的功能。二者结合实现起来感觉比较困难,毕竟对USB学习还不太深入。
板子上使用的是一颗带IIS数字输出的MEMS麦克风,要移植到其他咪头和CODEC芯片(比如WM8978)组合的板子也是很容易的,因为都是IIS数字输出接口。
源码主要参考
https://github.com/iliasam/STM32F4_USB_MICROPHONE
2016-5-31更新:
添加FeatureUnit,实现静音和音量调节功能。
已知问题:Win7和XP下的音量设置数据不一样,目前程序以Win7为依据。
2016-6-7更新:
修改音量调节为0dB~20dB,步进值为4dB。使Win7和XP下的音量设置数据保持一致。
添加多频选择功能,可选4种常用频率。
至此,USB Microphone功能基本完备,此帖完结,不再更新。
不错。
想知道:
几声道?
采样率多少?
输出格式?
有个人对这感兴趣,
或许会有合作机会。
@czdspeed
直接丢到这个buff里面就可以了吧
static uint8_t usbd_audio_DataIn (void *pdev, uint8_t epnum)
{
//if (epnum == AUDIO_IN_EP)
{
uint32_t i;
int16_t *buff = (int16_t *)IsocInBuff;
for (i = 0; i < AUDIO_IN_PACKET/2; i++)
{
buff = I2S_Buffer[i*4];
}
DCD_EP_Flush(pdev, AUDIO_IN_EP);//very important!!!
DCD_EP_Tx(pdev, AUDIO_IN_EP, IsocInBuff, AUDIO_IN_PACKET);
}
return USBD_OK;
}
一周热门 更多>