STM32マイコン関連
STM32割り込み優先度
STM32マイコン学習計画
BM83関連
STBEE関連
UARTについて
https://www.st.com/resource/en/user_manual/dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf
70.2 UART Firmware driver API descriptionを参照
最大入力可能電圧(I/O)
STM32には、5V電圧信号を入力できる端子があります。
具体的な端子はデータシートに「FT」(Five voltage Tolerant)と記載されています。
マイコンの電源電圧が3.6V以下であっても、この端子には5V電圧を印加できます。
ただし、その場合の入力閾値電圧は5V基準ではなく、マイコンの電源電圧VDD基準のままです。
一方、GPIOはNMOSオープン・ドレイン構成が可能です。
この場合、外部にプルアップ抵抗をつなぎ、プルアップ電圧を5Vにすると、見かけ上、5VのHighレベル信号を出力することができます。
参考:https://www.stmcu.jp/technical/hint/no-042/
例:stm32f103ve.pdf
通信:
I2C:
SDA:データ
SCL:クロック
使用するマイコン:
STM32F767IGT6
mbedマイコンについて
STM32F401RE
データシート:https://akizukidenshi.com/download/ds/st/User_mau_hard_DM00105823.pdf
ピン配置:https://os.mbed.com/platforms/ST-Nucleo-F401RE/
使用するツール
STM32CubeMXProject_F401N_ADC_U2.pdf
TrueStdio
上記URLからそれぞれダウンロードする。
https://my.st.com/content/my_st_com/ja/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
参考:
Truestdioの使い方
STM32マニュアル
STM32チュートリアル
STM32教材
http://bfin.sakura.ne.jp/?p=1028
CubeMXの使い方について
https://www.youtube.com/watch?v=TtHo3axOy3o
HALライブラリ:
https://jsdkk.com/blog/mugita/?p=1124
https://guminote.sakura.ne.jp/archives/705
https://guminote.sakura.ne.jp/archives/704
参考サイト:
https://happytech.jp/wordpress/2017/05/28/ide-for-stm32-mcu-sw4stm32/
https://umuoumu.blog.fc2.com/blog-entry-43.html
https://gsmcustomeffects.hatenablog.com/entry/2017/06/04/014231
操作
STM32CubeMXを起動
File→New Projectを押す。
Board を検索する。(今回は、STM32F401REを使用)
→nucleoというボードを使用するため:https://akizukidenshi.com/catalog/g/gM-07723/
ダブルクリックでボードの確定。
使用するpinをクリック。(今回は、Pin A1を使用する)
GPIO_Outputに変更
Project Managerに移動
Project Nameを変更(自分の好きな名前)
→今回は LED_1(Blinking)
Project Locationでこのプロジェクトを保存する場所を選択
Toolchain/IDEを変更
→今回は、TrueSTDIOを使用するため、TrueSTDIOに変更
GENERATE CODEを押す。
プロジェクトが作成される。
Opne Folderを押すと、作成したプロジェクトの場所に飛べる。
Atolic TrueStdioを起動
work spaceはそのままでOKを押す。
File →Open Projectを押す。
インポート元のディレクトリーをクリック
先ほどCubeMXで作成したファイルの場所を選択
フォルダーのチェックマークを先ほど作成したファイルの場所以外外す。
終了をクリック
ファイルが開かれたら、Core →Src→main.cをダブルクリック
→main.cに記載していく
int main(void){ }を探し、今回は繰り返すために、その中のWile(1){ }に処理を記載する。
下の方に行くと、HAL_GPIO_writePin(xxxx);というのがある。
これがCubeMXで作成したpinの初期設定となっている。
int main(void){ Wile(1) { }} に下記プログラムを記載する。
トンカチマークをクリック→ビルドが実行される。
エラーが出なければOK
出たら調べてください。
MbedをPCに接続する。
Pin A1にLEDと抵抗を取付け。
歯車っぽい緑のやつをクリック
デバックを実行
main.cの場所を聞かれるので、Locale Fileをクリックmain.cを選択
問題が無くなったら、再生をクリック
そうするとプログラムが実行され、LEDが点滅し始める。
参考:
http://y2kblog.seesaa.net/article/tryLLapi.html
http://y2kblog.seesaa.net/article/tryLLapi.html
https://qiita.com/TakeoChan/items/84b494981a0bd3007e57
https://www.slideshare.net/ssuserae4a65/stm32-173695453
https://www.st.com/resource/ja/user_manual/dm00104712-stm32cubemx-for-stm32-configuration-and-initialization-c-code-generation-stmicroelectronics.pdf
https://guminote.sakura.ne.jp/archives/705
参考動画:
https://www.youtube.com/watch?v=ivCQkj4U4kM
printfの導入
http://wmmc.jp/wiki/public/Freshman/Program/HAL/Practice6
シリアル通信 UART関連
https://rt-net.jp/mobility/archives/7801
https://gsmcustomeffects.hatenablog.com/entry/2017/04/08/045444
https://denshikousakusenka.jimdofree.com/共通ライブラリ/uart/stm32/
stm32でサーボモータ制御する
https://qiita.com/usashirou/items/2d0fedf59a3cef083b87
#STM32