まず、開発している Roger さんの書いている文章(https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki の Installation)にしたがって、Arduino Due 用のコンパイラを入れて、hardware フォルダにファイルを展開します。
MacOS Xの場合、dfu-util は入っているからインストールが要らないとありますが、libusb 周りが不足するので、Homebrew から dfu-util をインストールするといいと思います。
- Homebrew のインストール:http://brew.sh/index_ja.html
- dfu-util のインストール:
brew install dfu-util を実行
それで Nucleo の開発はできるはずなのですが、ちょっと気になるところがありました。一つはシリアルポートです。Serial でなくて Serial1 を使わないとPC(Mac)のUSB側と通信できません。Serial を使いたいときはSTM32F1/variants/nucleo_f103rb/board.cppを次のように書き換えます。
--- board.cpp.orig 2016-06-07 21:11:32.000000000 +0900 +++ board.cpp 2016-06-10 17:43:40.000000000 +0900 @@ -253,7 +253,7 @@ DEFINE_HWSERIAL(Serial2, 2); DEFINE_HWSERIAL(Serial3, 3); #else - DEFINE_HWSERIAL(Serial, 3);// Use HW Serial 2 as "Serial" - DEFINE_HWSERIAL(Serial1, 2); + DEFINE_HWSERIAL(Serial, 2);// Use HW Serial 2 as "Serial" + DEFINE_HWSERIAL(Serial1, 3); DEFINE_HWSERIAL(Serial2, 1); -#endif \ No newline at end of file +#endif
この変更をしても TX/RX(D1/D0)ピンに信号が出ていないようです。Serial(上記の変更したときはSerial1)はPC10/PC11 のピンで TX/RX で使えるようです。
-------------------------------------------------------------------------------------------------
マニュアルを見るとデフォルトでは
- USART2(PA2, PA3)はST-LINK MCUに接続(SB13, SB14をショートしてSB62, SB63をオープン)
になっていて、
- USART2(PA2, PA3)をCN9のTX/D1, RX/D0ピンに接続するには SB13, SB14 をカットして、SB62, SB63をショート
だそうです。USART3 (PC10: TX, PC11: RX) を CN10 の 35, 37 につないで、こちらをD0, D1ピンに出した方がよいのかもしれません。
-------------------------------------------------------------------------------------------------
TwoWire Wire1(PB8, PB9, SOFT_STANDARD);
として Wire1 を宣言してWire1を使うか、STM32F1/libraries/Wire/Wire.cppとSTM32F1/variants/nucleo_f103rb/board/board.hを次のように書き換えます。
--- Wire.cpp.orig 2016-06-07 21:11:32.000000000 +0900 +++ Wire.cpp 2016-06-10 17:42:26.000000000 +0900 @@ -191,4 +191,4 @@ // Declare the instance that the users of the library can use //TwoWire Wire(SCL, SDA, SOFT_STANDARD); -TwoWire Wire(PB6, PB7, SOFT_STANDARD); +TwoWire Wire(BOARD_I2CSOFT_SCL_PIN, BOARD_I2CSOFT_SDA_PIN, SOFT_STANDARD);
--- board.h.orig 2016-06-07 21:11:32.000000000 +0900 +++ board.h 2016-06-10 17:39:43.000000000 +0900 @@ -51,8 +51,8 @@ #define A4 20 #define A5 21 // Wire.h Soft I2C standard pins for custom boards: - #define BOARD_I2CSOFT_SCL_PIN PC0 - #define BOARD_I2CSOFT_SDA_PIN PC1 + #define BOARD_I2CSOFT_SCL_PIN PB8 + #define BOARD_I2CSOFT_SDA_PIN PB9 #define BOARD_NR_USARTS 3 //#define SERIAL_ORDER1 3 // HW Serial order for custom boards
0 件のコメント:
コメントを投稿