STM32でDCC/DDCを作ろう! INDEXページへ
情報が間違っていても責任とらないし賠償とかしないです.
昨夜は18:30ごろにノムネンへ行き、焼酎を飲み過ぎてつぶれました.店に居た時にすでに記憶がないのはどうしたことだろう?
これまではaudio data flowを説明してきました.今回からはコントロール系の説明に切り替わります.dataflowよりもcontrolの方が手間がかかって大変ですかね.
開発中のプリント基板には、STM32の内部状態をモニタするためにUSB COMをつけてあります.
当USB deviceをPCに繋いだ時、windows hostからsetupコマンドが来ます.どのようなSETUPコマンドをやりとりしているのかを動画で説明します.あと、再生開始時と再生終了時にもSETUPコマンドが来ます.
動画で説明します.フルスクリーンの720pで見るのがおすすめです.
補足説明です.
動画の中でサンプリング周波数のリストをwindows hostに返信する場所がありますが、同返信内容はこれです.descriptorを記述したsource codeの末尾にこの記述があります.
// Sampling frequency list there are 8 Fs.
// MIN/MAX/RES
__ALIGN_BEGIN static uint8_t USBD_AUDIO_SamplFreqDesc[100] __ALIGN_END = {
0x08, 0x00, // 8 Fs
0x44, 0xac, 0x00, 0x00, // AC44=44100
0x44, 0xac, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x80, 0xbb, 0x00, 0x00, // BB80=48000
0x80, 0xbb, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x88, 0x58, 0x01, 0x00, // 15888=88200
0x88, 0x58, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x77, 0x01, 0x00, // 17700=96000
0x00, 0x77, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00,
0x10, 0xb1, 0x02, 0x00, // 2B110=176400
0x10, 0xb1, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0xee, 0x02, 0x00, // 2EE00=192000
0x00, 0xee, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00,
0x20, 0x62, 0x05, 0x00, // 56220=352800
0x20, 0x62, 0x05, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0xdc, 0x05, 0x00, // 5DC00=384000
0x00, 0xdc, 0x05, 0x00,
0x00, 0x00, 0x00, 0x00
};
0 件のコメント:
コメントを投稿