freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm的音頻接口設計(編輯修改稿)

2025-07-20 15:15 本頁面
 

【文章內(nèi)容簡介】 DAC noninverting //,Single speed playback,ADCOff DACOn //Record if(mode) { _WrL3Addr(0x14 + 2)。 //STATUS (000101xx+10)// _WrL3Data(0xa2,0)。 //1,0,1,0, 0,0,10 //Status 1,Gain of DAC 0 dB,Gain of ADC 6dB,ADC noninverting,DAC noninverting //,Single speed playback,ADCOn DACOff _WrL3Data(0xe3,0)。 //1,1,1,0, 0,0,11 //Status 1,Gain of DAC 6 dB,Gain of ADC 6dB,ADC noninverting,DAC noninverting //,Single speed playback,ADCOn DACOn,DAC打開使錄音時可從耳機聽到聲音// _WrL3Addr(0x14 + 0)。 //DATA0 (000101xx+00)// _WrL3Data(0x3f,0)。 //00,11 1111 : Volume control (6 bits) // _WrL3Data(0x00,0)。 //00,00 0000 : Volume control (6 bits) 0dB _WrL3Addr(0x14 + 0)。 //DATA0 (000101xx+00) _WrL3Data(0x7b,0)。 //01,11 10,11 : Data0, Bass Boost 18~24dB, Treble 6dB // _WrL3Addr(0x14 + 0)。 //DATA0 (000101xx+00) _WrL3Data(0xc4,0)。 //1100 0,100 : Extended addr(3bits), 100// _WrL3Data(0x90,0)。 //100,1 00,00 : DATA0, Enable AGC, 00, input amplifier gain channel 2 (2bits) _WrL3Data(0xf0,0)。 //111,1 00,00 : DATA0, Enable AGC, 00, input amplifier gain channel 2 (2bits)// _WrL3Addr(0x14 + 0)。 //DATA0 (000101xx+00) _WrL3Data(0xc0,0)。 //1100 0,000 : Extended addr(3bits), 000 _WrL3Data(0xe4,0)。 //111, 00000 : MA = 0dB _WrL3Data(0xc1,0)。 //1100 0,001 : Extended addr(3bits), 001 _WrL3Data(0xe4,0)。 //111, 00000 : MB = 0dB // _WrL3Addr(0x14 + 0)。 //DATA0 (000101xx+00) _WrL3Data(0xc2,0)。 //1100 0,010 : Extended addr(3bits), 010// _WrL3Data(0x59,0)。 //010,1 10,01 : DATA0, MIC Amplifier Gain 27dB, input channel 1 select(input channel 2 off) _WrL3Data(0xf9,0)。 //111,1 10,11 : DATA0, MIC Amplifier Gain 27dB, input 1 X MA + input 2 X MB }} 錄音模塊 :圖 錄音模塊程序流程圖:static __inline void SetRecDma(void){// WrUTXH0(39。.39。)。 SetDMARun(|DMA_START, (U32)IISFIFO, (U32)lpRecCurBlklpData, lpRecCurBlkdwBufferLength/2)。}static void __irq RecDMADone(void){ if((amp。0xff)==0x12) ClearPending(BIT_DMA1)。 //Clear pending bit if((amp。0xff)==0x21) ClearPending(BIT_DMA2)。 lpRecCurBlkdwBytesRecorded = lpRecCurBlkdwBufferLength。 if(lpRecCurBlklpNext){lpRecCurBlk = lpRecCurBlklpNext。 } else { lpRecCurBlk = lpRecFstBlk。 } SetRecDma()。}MMRESULT waveInOpen( LPHWAVEIN phwi, UINT uDeviceID, LPWAVEFORMATEX pwfx, DWORD dwCallback, DWORD dwCallbackInstance, DWORD fdwOpen){ U8 i。 U8 err = 0。 if(pwfxwFormatTag!=WAVE_FORMAT_PCM) //only support PCM err = 1。 if(pwfxnChannels!=2) //must be stero err = 2。 if(pwfxwBitsPerSample%8) //8 or 16 bits err = 3。 for(i=0。 i7。 i++) if(pwfxnSamplesPerSec==CodecPara[i].Freq) break。 if(i==7) err = 4。 if((pwfxnChannels*pwfxwBitsPerSample)/8!=pwfxnBlockAlign) err = 5。 if(pwfxnAvgBytesPerSec!=pwfxnSamplesPerSec*pwfxnBlockAlign) err = 6。 if(err) { //printf(check err = %d\n, err)。 return WAVERR_BADFORMAT。 //check format parameters } if(!=DEVICE_FREE) return MMSYSERR_BADDEVICEID。 = RequestDMA(REC_DMA_ATTR, REC_DMA_MODE)。 if(==REQUEST_DMA_FAIL) return MMSYSERR_BADDEVICEID。 = *phwi。 = pwfxwFormatTag。 = pwfxnChannels。 = pwfxwBitsPerSample。 = i。 = (CallBackProc)dwCallback。 = dwCallbackInstance。 = DEVICE_REC。 save_MPLLCON = rMPLLCON。 //save MPLLCON value //rMPLLCON = CodecPara[].MPLL。 //SetSysFclk(CodecPara[].MPLL)。 ChgSysClock(CodecPara[].MPLL)。 rCLKCON |= 0x20000。 //enable IIS clock IIS_PortSetting()。 if((amp。0xff)==0x12) { pISR_DMA1 = (U32)RecDMADone。
點擊復制文檔內(nèi)容
范文總結(jié)相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1