2016/06/11

Nucleo-F103RB を Arduino IDE から使う

ST micro の Nucleo-F103RB (http://akizukidenshi.com/catalog/g/gM-07724/ )は開発環境に mbed が使えます。Arduino IDE (1.6.9)についても、次のような方法で使えました(F103RB以外のボードは今のところ使えないようです)。

まず、開発している Roger さんの書いている文章(https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki の Installation)にしたがって、Arduino Due 用のコンパイラを入れて、hardware フォルダにファイルを展開します。

MacOS Xの場合、dfu-util は入っているからインストールが要らないとありますが、libusb 周りが不足するので、Homebrew から 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ピンに出した方がよいのかもしれません。
-------------------------------------------------------------------------------------------------

それから I2C についても、Wire が使えません。これは
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

2016/04/03

Splashのタイヤ交換 (REGNO GR-XI)

1月にスプラッシュのタイヤを交換しました。溝はまだ残っていたのですが、5年を超えるとヒビが入り出してきたので。スプラッシュについてくるタイヤは Continental の ContiPremiumContact 2 (CPC2)というタイヤでサイズは 185/60R15 です。kakaku.comで検索すると分かる(http://kakaku.com/car_goods/tire/itemlist.aspx?pdf_Spec201=15&pdf_Spec202=185&pdf_Spec203=60&pdf_so=p1&pdf_pg=2)のですが、このタイヤは、1本11,000円〜(時期によって最安価格は変動する)ぐらいして、同価格のタイヤは、そのサイズの最上級グレードのタイヤになります。

2016/04/02

IIJmio への MNP

Softbank, au と iPhone にしてから契約してきたのですが、この3月末から IIJmio (みおふぉん)に変えました。理由は au iPhone が mineo の au 回線で使えないという問題について IIJ の人が解決策を出していたのを見て(検索すればでます)技術力あるなと思ったからです。IIJは日本の商用インターネットの始まりを作ったような会社です し。あとから OCN でもよかったかなと思っています。これは 050 電話の月額基本料金がないからです。

IIJmio 契約にあたって、いくつかはまりました。一つ目は,amazon などで売っているスターターパックを買うと、直接申し込むよりも安くなる(タイミングが良ければ2000円以上)のですが、SMS付きnano SIM を買ってしまったことです。 音声付きの SIM は MNP 含めて、本人確認のために宅急便でカードを送ってくるようにしているようです。そのため、サイズだけあった nano SIM を買っても使えません。安くするつもりがかえって高くつきました。

2016/04/01

iPhone 5s から iPhone 6s

2年前に契約した au の iPhone 5s を使ってきたのですが、違約金が必要のない月になったので iPhone の乗り換えを探していました。最終的には docomo版の iPhone 6s + iijmio に落ち着いたのですが、いろいろ迷いました。