ユーザ用ツール

サイト用ツール


softdev:msp430:lcd1

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
softdev:msp430:lcd1 [2013/01/13 00:21] kingsoftdev:msp430:lcd1 [2013/07/15 20:25] (現在) – 外部編集 127.0.0.1
行 45: 行 45:
 </code> </code>
  
 +===== Sleepモード =====
 +ここまで書いたら、割り込み有効で、LPM3モード(ACLKのみ生きてて、MCLKもCPUもsleepしている)へ移行する。下記一文でその場で停止。後は割り込み処理で動作を継続する。
 +<code c>
 +  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/interrupt
 +</code>
 +{{:softdev:msp430:msp430_mode.png?350|各モードの消費の比較}}
 +
 +ちなみに、LPM4はACLKまですべてのCLKとCPUが停止するモードで、外部割り込みのみresumeできる。
 +===== 割り込み部 =====
 +<code c>
 +//A0_VECTOR : Timer0_A CC0
 +#pragma vector=TIMER0_A0_VECTOR
 +__interrupt void Timer_A (void)
 +{
 + jikan += 1;      // 1秒進める。jikanは秒数で、24時間を考慮してlongで定義
 + if(jikan==86400)jikan=0;// 24:00:00 → 00:00:00
 +
 +   ここに時計データの表示処理が入る。
 +}
 +</code>
 +
 +<code c>
 +// Port 1 interrupt service routine
 +#pragma vector=PORT1_VECTOR
 +__interrupt void Port_1(void)
 +{
 +  P1IFG &= ‾0x38;       // P1.4 IFG cleared
 + ポート処理を入れる。
 +}
 +</code>
  
softdev/msp430/lcd1.1358004089.txt.gz · 最終更新: 2013/07/15 20:28 (外部編集)