NUCLEO-F411RE STM32開発ボードを触ってみた

STMicroelectronicsのMCUを味見したくてNUCLEO-F411REを秋月さんから購入してみました。まだ触っている最中ですので本ページを随時更新していきます。

NUCLEO-F411REは、STM32F411REを乗せたSTMicroelectronics純正の開発ボードになります。今回USB周りも確認したかったのでこのボードを選択してみました。

NUCLEO-F411RE_top
NUCLEO-F411RE Top
NUCLEO-F411RE_btm
NULCLEO-F411RE Bottom

■購入直後の電源投入状態

とりあえずUSBでPCに接続した直後の状態です。USBコネクタは、mini-Bです(BoardにはUSBケーブルは付属していませんでした)。単にLEDが点滅しているだけの動画です。点滅箇所と点滅スピードを残しておきたかったんで動画にしておきました。この動画にはありませんが青色ボタンを押すと点滅スピードが遅くなります。黒色ボタンを押すと元のスピードに戻ります。青色ボタンはGPIO_EXTI(外部割り込み)ボタンの設定で黒色ボタンはリセットボタンです。

ちなみにLinuxのTerminalでdmesgを叩いてみると以下のように検出されていました。

. . . . . . 
usb 3-11: new full-speed USB device number 7 using xhci_hcd
usb 3-11: New USB device found, idVendor=0483, idProduct=374b, bcdDevice= 1.00
usb 3-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-11: Product: STM32 STLink
usb 3-11: Manufacturer: STMicroelectronics
usb 3-11: SerialNumber: xxxxxxxxxxxxxxxxxxxxxxxx
. . . . . 

また、USBを挿した直後USB Strageと認識されたようでLinuxMint20のDeskTopに以下のようなフォルダーが表示されました。

Nucleo-F411RE_connectPC

このStrageとしてのプロパティを見てみると以下のようになっていました。

Nucleo-F411RE_connectPC2

とりあえず、今回はここまで。

2021.06.07追記

■STM32の開発環境 ST32CubeIDEのインストール概略

STMicroelectronicsのサイトからST32CubeIDEをダウンロードするには、STMicroelectronicsのサイトからダウンロードするわけですがダウンロード時にユーザー登録?が必要になります。ウェブ上で登録したらメールが来ますのでメール上にリンクされたURLにアクセスしてダウンロードができるようになります。

このインストール時はLinuxMint20.1を使っていますのでSTM32CubeIDE-DEBのバージョンを選択してダウンロードしました。

ダウンロードしたen.st-stm32cubeide_1.6.1_xxxx_xxxxxxxx_xxxx_amd64.deb_bundle.sh.zipを解凍したらen.st-stm32cubeide_1.6.1_xxxx_xxxxxxxx_xxxx_amd64.deb_bundle.shがでてくるので

hoge$ sudo stm32cubeide_1.6.1_xxxx_xxxxxxxx_xxxx_amd64.deb_bundle.sh

後は、(GUIではありません)画面内容にしたがってキー操作しインストール完了。LinuxMintの場合、デスクトップメニューから[プログラミング]メニューの中に[STMicroelectronics STM32CubeIDE…]のメニューが追加されます。

■NUCLEO-F411REでLチカをしてみる。

STM32CubeIDEのメニューから[New]->[STM32 Project]を選択。で[Board Selector]タブを選択。

STM32CubeIDE_Lchika00

左側選択部より□Nucleo-64と□STM32F4を選択したら下側選択肢が選びやすくなるのでそこからNUCLEO-F411REを選択して[Next]

STM32CubeIDE_Lchika01

Project Nameを入力して[Finish]

STM32CubeIDE_Lchika02

[ Initialize all peripherals with their default Mode? ]と聞かれるので[Yes]

STM32CubeIDE_Lchika03

こんな画面が現れます。

STM32CubeIDE_Lchika04

左側のProject Tree?から[Core]->[Src]でmain.cが現れますのでクリック。後は、編集して書き込みするだけ。

STM32CubeIDE_Lchika05

main関数内のwhile文内に以下を追記

    while
    {
        HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);  //追記
        HAL_Delay(500);                              //追記
    }

NUCLEO-F411REボードをPCに接続していることを確認してメインメニューの[Run]ボタンを押したらコンパイルして動作しだします。

STM32CubeIDE_Lchika06

※STM32CubeIDEインストール時に自動で/etc/ude/rule.d内にstlinkのルールファイルを生成してくれてるのでこちらで設定しなくてもすぐ使えるようになっているのはうれしいです。自動でできてたファイルか以下の4ファイルです

  • 49-stlinkv1.rules
  • 49-stlinkv2-1.rules
  • 49-stlinkv2.rules
  • 49-stlinkv3.rules

■GPIO割り込み

で、このLチカは、購入初期状態と同じではなく青色ボタンを押しても点滅スピードは変化しないのでB1[Blue PushButton]がGPIO_EXTI13と設定されているのでGPIO端子の割り込みでスピードを変えてみる。

B1[Blue PushButton]の設定状態を確認するには、MainフレームのSystem Coreをクリックして階層表示させてその中のGPIOをクリックしたら設定されているGPIOの一覧が表示される。でその表示されている中からPC13…をクリック。その端子の設定状態が表示されます。ここで設定を変えることも可能ですが今回特に変える必要がないので確認するだけ。

STM32CubeIDE_Lchika07

次に同SystemCore下のNVICをクリック。EXTI line[15:10] interrupts□にチェックを入れる。これで設定は完了です。後はmain.cを開いて編集するだけです。

STM32CubeIDE_Lchika08

main.cの編集は以下のようにします。

.....
uint32_t Dtim = 50;  //追記

int main(void)
{
    ....
    while (1)
    {
        HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);  //追記
        HAL_Delay(500);                              //追記
    }  
}
....
  //この関数全て追記
void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)
{
    if ( GPIO_Pin == B1_Pin )
        Dtim = 500;
}
....

NUCLEO-F411REボードをPCに接続していることを確認してメインメニューの[Run]ボタンを押したらコンパイルして動作しだします。

STM32CubeIDE_Lchika06

これで初期状態は、01.秒間隔でLEDが点滅、青色ボタンを押すと1秒間隔でLEDが点滅。黒色ボタンでリセットしてまた0.1秒間隔で点滅する動作になります。

中川電子技研

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL