作成)STM32Nucleo基板のClock系について、電源と同じく少し注意点がありますので、ここで紹介します。参考までにSTM32F401のクロックツリーを載せます。timer)用に供給される低速クロックと、コアやペリフェラルに供給される高速クロックの2種類があります。それぞれに外部からクロック入力する場合と内部発信回路によるクロック生成の2種類があり、計4種類のクロック源があります。HSIと呼ばれています。内部発信クロックは余計な部品が載らないため、小さく・安く出来るというメリットがあるのですが、一方精度は少し劣ります。HSEを使用したいところです。Manualを読んでみるとNucleo基板の外部クロックとして以下の選択肢ができるとされています。clock)ST-LINKとして使用されているマイコンのMCO出力をクロック源とする自分で基板上のX3に振動子を実装する。clock)自分で基板上のX2に振動子を実装する。CN7のPin25にクロックを外から入れる使用しないそしてここからがややこしいところなのですが、Nucleo基板には2種類の仕様があり、シールで設定が記載されています。C-02"と記載されています。ST-Linkから供給となっています。C-02の方が高精度であるため、購入したものがこちらであれば特に何をしなくても外部クロック源が利用できます。C-01は基板のST-Link部分を切断してもそのまま動くのでそういった意味での使い勝手はよさそうです。CubeMX利用時の注意STマイクロさん謹製のCコード作成補助ツールCubeMXでは上記2種類の仕様どちらでも動作するように初期のクロックが内部クロックになっています。C-02基板をお持ちの方は外部クロックに設定されるのがよいと思います。F401の場合は以下の通りとすれば規定の84MHzで動作します。/7またCubeMXを使用しない場合は以下のような初期化コードを使用すれば同じ結果となります。7;HAL_RCC_OscConfig(&RCC_OscInitStruct);ポイントは最初にHAL_RCC_DeInit()を呼ぶことです。これが無いとHAL_RCC_OscConfig()でエラーが発生することがありました。編集Jimdoあなたもジンドゥーで無料ホームページを。