![](https://habrastorage.org/getpro/geektimes/post_images/62f/dff/0fb/62fdff0fba538fe0572be38598c5ab5e.jpg)
私はこれが真実からかけ離れていることを証明しようと決め、スカーフをより簡単にするのを難しくしました:片面、必須コンデンサ(スタビライザーは必要ありません)、抵抗器、3.3Vスタビライザー1つ、そして最後にSTM32:STM32F100C4T6B-16kbフラッシュ、 4kb SRAM、48レッグ、Cortex-M3(!!!)、DMA、オンザフライデバッグ、32 * 32 + 32-> 32で1クロック、その他すべての喜びは28ルーブル。
![](https://habrastorage.org/getpro/geektimes/post_images/d98/448/571/d984485714b293db1540b36422c53ef7.gif)
![](https://habrastorage.org/getpro/geektimes/post_images/197/bdb/5fc/197bdb5fcb87027fbe90d4f58e56307f.jpg)
イーグル接続の回路図と配線。 ただし、曲線のMKシンボルに誓わないでください-できる限りペイントしました-以前と同様に、STM32チップの完全なライブラリを探しています。
![](https://habrastorage.org/getpro/geektimes/post_images/52e/29b/06b/52e29b06b02b4c9bce5e59df00353041.jpg)
私はもう一度強調します-これはすべて自宅で行われ、アイロンと通常のはんだごて(温度は制御されており、200Wではありません)。 4層ボードは不要で、ヘアドライヤー付きのはんだ付けステーションは不要です。
プログラミングについては、IDE keil(デバッガー/コンパイラー/エディター)のデモ版をダウンロードしてください-小さなミクロンの場合、制限なしで動作します(ただし、直接リンクを指定することはできません。探してください)。 ここでテストプログラムを用意し 、main()のコードを置き換えるだけです(そして、ウィザードを使用して設定ファイルを変更し、PA1レッグが出力であり、内部ジェネレーターから機能するようにします-「設定ファイルを編集するときは下の構成ウィザード」タブを参照してください):
int main (void) { unsigned int hash = 0; int i = 0; stm32_Init (); // STM32 setup while (1) { for(i=0;i<50000;i++) hash=(hash*hash+1234567)/hash+hash+87654321; GPIOA->ODR = (GPIOA->ODR & (~2)) | ((hash&256)?2:0); } // end while } // end main
JLinkを構成します。JLinkでドライバーをインストールし、KeilでFlash-> Configure Flash Toolsを構成します。 [ユーティリティ]タブで[JLINK]を選択し、[設定]をクリックします。 [Flash Download]タブで、プログラミングアルゴリズム「STM32F10x Low Density Flash」を追加します。
ここでプロジェクトをビルドし、メニューでFlash-> Downloadを実行し、ボードを再起動します-そして...動作します。 ちなみに、チェックアウトから逸脱することなく、デバッガーでプログラムを停止し、ブレークポイントを設定し、変数を表示できます-すべてが最高の家のようです
![](https://habrastorage.org/getpro/habr/comment_images/589/4ca/0c9/5894ca0c9e7ef627bfd7178b08017a4b.gif)
あなたはまだ200ルーブルで8ビットAVR-rkiを購入していますか? その後、ARMが登場します!