2012年2月19日日曜日

STM32F4Discoveryのボーレート

いくら設定しても57600bpsに設定しても出力が19200bpsになってしまっていた・・・・

色々調べてみたら外部クロックのデフォルトは25MHzらしい・・・

☆stm32f4xx.h
#define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */

stm32f4xx.hを書き直せば済む話だけど、基本ライブラリは書き換えないに限るので・・・

対処法1
STM32F4Discoveryは8MHzなので
#define HSE_VALUE       ((uint32_t)8000000);
だめだった・・・warningで"HSE_VALUE" redefinedとか出てる

対処法2
C/C++ Build→Settings→Tool Settings→C Compiler→Miscellaneousのother optionに以下の記載をする。
-DHSE_VALUE=8000000

→ちゃんと治った。

ねむいさんトコのもmakefileに書いてあるから対処法2のほうがいいんだろうな。

0 件のコメント:

コメントを投稿