いざ使おうと思った時,自分で動作確認したスケッチが頼りになります。webで先輩たちのスケッチと資料を集めていきます。
たくさん引用させていただきました。感謝します。
まずは回路図とピンアウト
私のは Black Pill のコピー品で,LEDの位置がPB12のようでした。なので,回路図はこれになります。
外部電源入力端子がありません。USBから給電するか?
でも,ST-LINKの時は,VCC3.3Vの供給だけで動いていることになります。
ですので,RT9193なるLDOは,ある程度逆耐圧に持ちこたえられる,と判断できます。長期運用なら,入出力間ダイオードか,素直に5Vのところに入力すべきでしょうね。
ピンアウト図もあると便利ですね。これが便利でした。
(2019/12/26 追記)
ピン番号はPB12
などGPIOピン名称を使うことができます。以下のページが便利です。
シリアル
STM32とは関係ありませんが...
Arduino IDE のシリアルモニター,まさにモニターするだけならいいのですが,文字の送信が1行単位です。WinではTeraTerm, MacではCoolTermを愛用しているのですが,そちらは1文字単位で送信されます。
一つのスケッチで,両方とも対応できるようないい方法がないかなあ,と考えていましたら,いい手がありました。
String str = Serial.readStringUntil('\n');
とすることで,1行,またはタイムアウトした時点でSTMが受け取れます。私的にはこれでOKです。Arduino IDEでは文字+[Enter], TeraTerm/CoolTermでは文字をタイプするだけでSTMに文字が送れます。
タイマーとその割り込み
ずばりこちらですね! LEDをPB12にして,すっと動きました。
PWM出力
上と同じ方のようですが,
コピペでさくっと動きました。古いですが,感謝感激です。
5kHzでテストしました。PICで作った簡易オシロで動作も確認できました。