01-31-2018, 08:59 AM
flipper Написал:Не вижу причин, почему ресско должно начать помогать сейчас , бгг
Пусть разберется с чем-нибудь, типа такого, тогда посмотрим :)
Код:
[[distributable]]
void DFUHandler(server interface i_dfu i, chanend ?c_user_cmd);
// Audio I/O - Port declarations
on tile[AUDIO_IO_TILE] : buffered out port:32 p_i2s_dac[I2S_WIRES_DAC] =
{PORT_I2S_DAC0,
PORT_I2S_DAC1,
PORT_I2S_DAC2,
PORT_I2S_DAC3,
PORT_I2S_DAC4,
PORT_I2S_DAC5,
PORT_I2S_DAC6,
};
on tile[AUDIO_IO_TILE] : buffered out port:32 p_lrclk = PORT_I2S_LRCLK;
on tile[AUDIO_IO_TILE] : buffered out port:32 p_bclk = PORT_I2S_BCLK;
//---------------------------------------
extern buffered out port:32 p_i2s_dac[I2S_WIRES_DAC];
//---------------------------------------
static inline void doI2SClocks(unsigned divide){
switch (divide) {
case 8:
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
p_bclk <: 0xF0F0F0F0;
break;
case 4:
p_bclk <: 0xCCCCCCCC;
p_bclk <: 0xCCCCCCCC;
p_bclk <: 0xCCCCCCCC;
p_bclk <: 0xCCCCCCCC;
break;
case 2:
//default:
p_bclk <: 0xAAAAAAAA;
p_bclk <: 0xAAAAAAAA;
break;
case 1:
break;
}
}
//---------------------------------------
int main(){
chan c_mix_out;
chan c_iap;
chan c_adc;
chan c_mix_ctl;
chan c_aud_cfg;
interface i_dfu dfuInterface;
USER_MAIN_DECLARATIONS
par {
on tile[XUD_TILE]:
par {
[[distribute]]
DFUHandler(dfuInterface, null);
usb_audio_core(c_mix_out, c_iap, c_ea_data);
}
on tile[AUDIO_IO_TILE]: usb_audio_io(c_mix_out, c_adc ,c_aud_cfg, c_clk_ctl, dfuInterface );
thread_speed();
USER_MAIN_CORES
}
xs1_su_adc_service(c_adc);
return 0;
}