差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
exercise4_タイマー割り込みcmt [2015/03/01 15:20] memberexercise4_タイマー割り込みcmt [2016/03/08 18:58] (現在) member
行 1: 行 1:
 +======Exercise4 タイマー割り込み======
 +
 注意 注意
  
-タイマー割り込みを実行するためにはinterrupt_handlers.cの385行目あたりを以下のように書き換えてください(HEWであればintprg.cに載っています)+タイマー割り込みを実行するためには**interrupt_handlers.c**の385行目あたりを以下のように書き換えてください(HEWであればintprg.cに載っています)
  
 <code c> <code c>
 void interrupt_cmt0(void); void interrupt_cmt0(void);
-#pragma interrupt INT_CMT_CMTO+#pragma interrupt INT_CMT0_CMIO
 void INT_CMT0_CMI0(void){ void INT_CMT0_CMI0(void){
  interrupt_cmt0();  interrupt_cmt0();
行 11: 行 13:
 </code> </code>
  
-さて、タイマー割り込みとは何でしょう。+ただし、e2studioを使っている場合は、次のとおり書き換えてください。 
 + 
 +<code c> 
 +void interrupt_cmt0(void); 
 +void INT_CMT0_CMI0(void){ 
 + interrupt_cmt0(); 
 +
 +</code> 
 + 
 + 
 +また、**reset_program.c**の21行目のSR_Initの0x000000F0を0x00000000にしましょう。 
 + 
 + 
 +さて、**タイマー割り込み**とは何でしょう。
  
 今まで書いてきたプログラムは、上から下まで順に実行する(サブルーチンはその通り飛ぶとして)ものです。 今まで書いてきたプログラムは、上から下まで順に実行する(サブルーチンはその通り飛ぶとして)ものです。
行 27: 行 42:
 何かのアプローチがあって割り込みが入る場合もありますが 何かのアプローチがあって割り込みが入る場合もありますが
 今回は、時間で割り込みをかけてみたいと思います。 今回は、時間で割り込みをかけてみたいと思います。
-1sごとに指定された割り込み文を実行する、などと言うことです。+1msごとに指定された割り込み文を実行する、などと言うことです。
  
  
行 34: 行 49:
 タイマー割り込みをつかうには、初期設定が必要です。 タイマー割り込みをつかうには、初期設定が必要です。
  
-main文の上のほうに初期設定を以下のように書きます。+main文の上のほうに1msで割り込むCMTの初期設定を以下のように書きます。
  
 <code c> <code c>
行 66: 行 81:
  
 void interrupt_cmt0(){//割り込む関数 void interrupt_cmt0(){//割り込む関数
-CMT1.CMCSR.BIT.CMF = 0;//フラグクリア +CMT0.CMCSR.BIT.CMF = 0;//フラグクリア
 //中身 //中身
- 
 } }
  
/home/users/2/deca.jp-mice/web/cgi/dokuwiki/data/attic/exercise4_タイマー割り込みcmt.1425190813.txt.gz · 最終更新: 2015/03/01 15:20 by member
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0