Ethernet-röst Streaming (7 / 9 steg)
Steg 7: Förklara drift (ADC & PWM DAC)
För att generera röstdata, behöver klientenhet ADC drift.
ADC acquisite röst analoga data. Och de kommer att spara i buffert.
Och i detta projekt jag bestämma förvärv intervallet som 100usec som nedan
Starta förvärv (intervall 100usec)
trigger_o.period_us(100);
trigger_o.write(0.50F);
Sedan adcTickfunc() funktion kommer att vara excute varje 100usec.
Nu måste vi veta vad som kommer hända i denna funktion.
void adcTickfunc() {
# om definitionen (UDPServer)
om (buf_sel) aout.write((float)ad_data_buf1[i]/256*1.32);
annat aout.write((float)ad_data_buf0[i]/256*1.32);
i ++;
om (jag == MAX_BUF_SIZE) jag = MAX_BUF_SIZE - 1;
# annat
om (buf_sel == 0) ad_data_buf0 [i] = mic.read_u16() >> 4.
annat ad_data_buf1 [i] = mic.read_u16() >> 4.
i ++;
om (jag == MAX_BUF_SIZE) {
Jag = 0;
Toggle =! växla;
om (buf_sel) buf_sel = 0; annat buf_sel = 1;
send_udp = 1;
skickade = 1;
}
#endif
}
I klientläge,
För att generera röstdata, kommer data att spara till en buffert varje 100usec.
ad_data_buf0 [i] = mic.read_u16() >> 4.
Och i server-läge,
För att spela röstdata, skickar data PWM funktion.
aout.write((float)ad_data_buf1[i]/256*1.32);