Arduinoは、多くの愛好家(私を含む)やエンジニアが電子機器を使い始めたときの最初のボードでした。ただし、さらに構築を開始して深く掘り下げると、Arduinoは業界に対応しておらず、8ビットCPUのクロックが途方もなく遅いため、プロジェクトに十分な効果が得られないことがすぐにわかります。うまくいけば、新しいSTM32F103C8T6 STM32開発ボード(Blue Pill)が市場に出回っており、32ビットCPUとARM CortexM3アーキテクチャでArduinoを簡単に凌駕することができます。ここでのもう1つのハニーポットは、同じ古いArduinoIDEを使用してSTM32ボードをプログラムできることです。したがって、このチュートリアルでは、STM32を使い始めましょう。 このボードの基本を少し知って、ArduinoIDEを使用してオンボードLEDを点滅させます。
このチュートリアルで使用されているSTM32Blueピルボードの他に、STM32 NucleoDevelopmentボードのような他の多くの人気のあるSTM32ボードがあります。興味がある場合は、STM32 Nucleo 64ボードのレビューを確認することもできます。また、それらの使用方法を学び、STM32CubeMXおよびTruestudioを使用してプログラムする場合は、STM32Nucelo64の使用を開始するためのチュートリアルを確認できます。
必要な材料
- STM32 –(BluePill)開発ボード(STM32F103C8T6)
- FTDIプログラマー
- ブレッドボード
- 接続線
- インターネット付きノートパソコン
STM32(ブルーピル)ボードの紹介
STM32ボードブルーピル別名は、ARMのCortex M3マイコン用開発ボードです。Arduino Nanoと非常によく似ていますが、非常に優れています。開発ボードを以下に示します。
これらのボードは、公式のArduinoボードと比較して非常に安価であり、ハードウェアもオープンソースです。その上にあるマイクロコントローラは、STMicroelectronicsのSTM32F103C8T6です。マイクロコントローラーとは別に、ボードには2つの水晶発振器もあります。1つは8MHz水晶、もう1つは32 KHz水晶で、内部RTC(リアルタイムクロック)の駆動に使用できます。このため、MCUはディープスリープモードで動作できるため、バッテリ駆動のアプリケーションに最適です。
MCUは3.3Vで動作するため、ボードには5V〜3.3Vの電圧レギュレータICも搭載されてMCUに電力を供給します。 MCUは3.3Vで動作しますが、そのGPIOピンのほとんどは5Vトレラントです。 MCUのピンはきちんと引き出され、ヘッダーピンとしてラベル付けされています。2つのオンボードLEDもあり、 1つ(赤色)は電源表示に使用され、もう1つ(緑色)はGPIOピンPC13に接続されています。また、MCUブートモードをプログラミングモードと動作モードの間で切り替えるために使用できる2つのヘッダーピンがあります。これらについては、このチュートリアルの後半で詳しく説明します。
なぜこのボードが「ブルーピル」と呼ばれるのか疑問に思う人はほとんどいないかもしれませんが、まじめな話ですが、私にはわかりません。ボードの色が青色で、プロジェクトのパフォーマンスを向上させることができるためかもしれません。誰かがこの名前を思いついたのはそのままです。これは単なる仮定であり、私にはそれをバックアップするための情報源がありません。
STM32F103C8T6仕様
ARMのCortex M3 STM32F103C8マイクロコントローラは、青い錠剤ボードで使用されています。名前とは異なり、マイクロコントローラーの名前STM32F103C8T6には、その背後にある意味があります。
- STM»はSTMicroelectronicsというメーカー名の略です
- 32»は32ビットARMアーキテクチャの略です
- F103»は、アーキテクチャARM CortexM3が
- C»48ピン
- 8»64KBフラッシュメモリ
- T»パッケージタイプはLQFPです
- 6»動作温度-40°C〜 + 85°C
それでは、このマイクロコントローラーの仕様を見てみましょう。
アーキテクチャ: 32ビットARM Cortex M3
動作電圧: 2.7V〜3.6V
CPU周波数: 72 MHz
GPIOピンの数: 37
PWMピンの数: 12
アナログ入力ピン: 10(12ビット)
USART周辺機器: 3
I2C周辺機器: 2
SPI周辺機器: 2
缶2.0周辺機器: 1
タイマー: 3(16ビット)、1(PWM)
フラッシュメモリ: 64KB
RAM: 20kB
知りたいなら