ブルーピル事はじめ
STM32 STM32F103C8T6 ブルーピル
概念の理解:Arduinoとの比較(個人的な解釈)
【IDE環境】
Arduinoの場合→Arduino IDE
STM32の場合→STM32CubeMX、STM32CubeIDE
いろいろあるがST社のもの。情報量も多い。
【インストールではまった!】
STM32CubeIDEを使うことを前提に、IDEだけをインストールすると、パッケージをダウンロードする際に、”Error downloading the following files."とメッセ―じが出ててしまう。STM32F103のパッケージをDLするも止まる。手動でインストールするものの、うまくビルトできない事態に・・・
↑
ここに記載されている症状が出る。ここでも問題は解けていない。
で、家でインストールしたときはできて、職場でできなかった事から何が違うか?
解決方法
MXを先にインストールする。MXの状態ではすんなりSTM32F103などのPKGが自動でダウンロードされる。その状態を確認してから、IDEをインストールする。
するとサクッと問題が解決された。同じ症状で困っている場合は、お試しを。
【ピンアサイン】
Arduino→そもそもピンはアナログとデジタルで固定で、INPUT、OUTPUTを指定
例:void setup() {
pinMode(PIN_LED0, OUTPUT);
pinMode(PIN_SW, INPUT);
}
void loop() {
digitalWrite(PIN_LED0, 1);
digitalRead(PIN_SW));
}
STM32
STM32CubeMXのソフトから指定する。GPIOなので、それぞれのピンの役割を個別に指定できる。Loopに相当する while (1)の箇所にコードを記載していく点は同じ
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
【はまったところ】
ST-LINK V2の中華版は、PCにデバッグ出力できない=Arduinoのシリアルモニタに相当
センサから読み取れているか?とかが可視化できないので、開発に手間取る。
→ST-LINK V2の中華版を買うとそうなると知らなかった・・・
SWO:配線を繋げる改造をすればできるようになるらしいが、改造面倒
USB経由で出力できる(記事は先人の先輩方が解説)。
→ 対処
syscalls.cをsrcに入れてあげて、コンパイルのスイッチに -u_printf_floatをOther flagsに追加する。知っていれば、なんて事はないが調べが浅く、たどり着くのに時間がかった・・・
ここまでできると、あとはArduinoと同じ。
コメント
コメントを投稿