解決済! 解決策の投稿を見る。
I hade done a somehow similar project years ago. But with a DAC as direct output, and not I2S.
The DAC output was served from a timer interrupt at a 100kHz rate. Within the interrupt, I calculated the sine table index from the current requested output frequency and the timer period, and wrote this value to the DAC. The latter was internal, and thus just a simple 16-bit write. Two ADC channels with attached potentiometers served for frequency and amplitude adjustment in realtime.
Run on a first-generation M3 with 72MHz core clock, it worked sufficiently well up to about 40kHz output frequency.
I suppose this does not really well apply to your case. I am not sure about manipulating the I2S clock, and how an attached device would handle that.
Hello,
The Integrated Inter-IC Sound Bus (I2S) is a serial bus interface standard used for connecting digital audio devices together, not used to generate sine wave.
BR
Alice
I hade done a somehow similar project years ago. But with a DAC as direct output, and not I2S.
The DAC output was served from a timer interrupt at a 100kHz rate. Within the interrupt, I calculated the sine table index from the current requested output frequency and the timer period, and wrote this value to the DAC. The latter was internal, and thus just a simple 16-bit write. Two ADC channels with attached potentiometers served for frequency and amplitude adjustment in realtime.
Run on a first-generation M3 with 72MHz core clock, it worked sufficiently well up to about 40kHz output frequency.
I suppose this does not really well apply to your case. I am not sure about manipulating the I2S clock, and how an attached device would handle that.