まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

Energia

MSP430 / Energia によるRTCの利用

 MSP430版のLaunchPadを購入するとRTC用と思われる32KHzの発振子が付いてくるのだけど、Energiaから直接使う手段がない。探したらライブラリが公開されていた。

Real-Time Clock (RTC) Library for the MSP430/LaunchPad[43oh]
Bibliothèque RTC pour le MSP430[Archives blog XV4Y]

ここのディスカッションではEnergia 0006では動作がおかしいとの報告があったが、最新の0101E0017では問題なかった。
※追記:発振子外付けでは問題ないが、M430G2553の内蔵32KHzOSCを使うと上記問題が発生。

 まずは発振子をハンダ付けしておく。マイコンはM430G2553を使用。
2016msp430xtal

 シリアルポートが使えるよう準備をしておく。→LaunchPad V1.4のシリアル設定

 修正したソースは以下。といっても余計な}の後のセミコロンを削ったりサンプルにゼロサプレス表示を追加しただけ。
https://gist.github.com/houmei/a149f4715e44e99ccc68fe97105c9c04

EnergiaのライブラリはArduino IDEの考え方に似ている(というか同じ)。次を参考にした。
Writing a Library for Energia

 MacOSXの場合、Energia実行ファイルを右クリックして"パッケージの内容を表示"を選択する。
Energia→Contents→Resources→Java→hardware→msp430→librariesの下に sRTCsec というフォルダを作り、その中に sRTCsec.h と sRTCsec.cpp を置く。

 LaunchPadだけど何年か前は500円くらいで売ってた。今は直販で$9.99。日本国内の情報は少ない。ずっと積んでたのでまあちょっとは役に立てたかな。

↓ Arduinoをはじめようと同じくらいの内容の入門書です。

MSP430 LaunchPad Programming (English Edition)MSP430 LaunchPad Programming (English Edition)
Agus Kurniawan

PE Press 2014-01-03
売り上げランキング :

Amazonで詳しく見る
by G-Tools


Energia MSP432ターゲットでwhile(!Serial)がエラーになる

 秋月電子でも取り扱いが始まったTIのLaunchPad。このうちCortex-M4FコアのMSP432P401Rを使ってみた。
MSP432P401R LaunchPad Development Kit(秋月電子)
MSP432P401R LaunchPad(TI)

 開発環境はArduinoライクなEnergiaがたいへん楽。
Energia

 シリアルポートは /dev/tty.usbmodem00000001、マイコンボードはLaunchPad w/MSP432 EMT を選択。Lチカは簡単にできた。
 さて、メモリが多いマイコンボードだとTinyBASICを動かしてみたくなる。豊四季BASICの修正版をコンパイルしてみた。
Arduino Dueで豊四季タイニーBASICを動かす

 すると見慣れないエラー。

TinyBASIC.ino:33:11: error: no match for 'operator!' (operand type is 'HardwareSerial')
TinyBASIC.ino:33:11: note: candidate is:
TinyBASIC.ino:33:11: note: operator!(bool) <built-in>
TinyBASIC.ino:33:11: note:   no known conversion for argument 1 from 'HardwareSerial' to 'bool'
これはスケッチ内の以下の場所で発生していた。

while(!Serial);

 while(!Serial); はArduino Leonardoでシリアルポートの準備ができるのを待つのによく使う。以前、EnergiaでStellaris LaunchPadターゲットでコンパイルしたときにはエラーは出なかった。MSP432ターゲットでは、この書き方は対応していないということになる。
 とりあえずコメントアウトしたらコンパイルOK、TinyBASICは動作した。

2015MSP432board

 そんだけ。


記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ