スライド 1

Similar documents
スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

スライド 1

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

スライド 1

Microsoft PowerPoint - RX62N動画マニュアルDMAC.ppt [互換モード]

スライド 1

スライド 1

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

スライド 1

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

アプリケーションノート AS-E402サンプルプログラム

/* モジュールストップ解除 */ SYSTEM.MSTPCRA.BIT.MSTPA24 = 0; /* MSTPA24(S12ADA 制御部 ) クロック供給開始 */ SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; /* MSTPA17(S12ADA0) クロック供給開始 */

RX210 グループ MTU2 を用いた相補 PWM モードの波形出力 要旨 本サンプルコードでは MTU2 を用いて相補 PWM モードの波形を出力する方法について説 明します 対象デバイス RX210 1 / 41

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

PowerPoint プレゼンテーション

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

Microsoft Word - プログラムをRAM.doc

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

TMSx70 MCU の RTI(リアルタイム割り込み)を使用してオペレーティングシステムの Tick を発生させる方法

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

スライド 1

057 { 058 int i; 059 timecounter=0; 060 pwmvalue=0;x=0;v=0; 061 requestdisplaydata=1; 062 tick=1; 063 for (i=0; i<rbuffsize; i++) { 064 ringbuffer[i]=

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

ETCB Manual

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

三菱電機マイコン機器ソフトウエア株式会社

Microsoft PowerPoint - kougi7.ppt

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

スライド 1

NCB564個別00版

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

RX開発環境移行ガイド V850からRXへの移行(コンパイラ編)(CA850/CX→CC-RX)

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

RL78/I1D 中速オンチップ・オシレータでのUART 通信の実現 CC-RL

スレーブ用システム設計ガイド アプライアンス社モータビジネスユニット 2012/2/15 Rev. 2 Page 1


マイコンボードの LED 制御 準備編その 1 マイコンとノート PC の役割 どうすれば LED は光るの? 光らせる LED の選択は? マイコン端子に接続された LED マイコン端子の電圧設定 制御用ソフトウェアの注意点 1

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

MB-LCD1 アセンブラ・ライブラリによる制御

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

ディジタル電子回路 設計演習課題

Microsoft PowerPoint - timer_pwm2.pptx

PIC24F Family Reference Manual Section 9 WDT

RX コード生成 V リリースノート

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

Microsoft PowerPoint - dsp12_2006.ppt

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

1 1 TA, ,9 1. ( 2. TM TM GUI TM 1. P7-13 TM Notepad, Meadow, ( P109 ). 2. (shisaku01/sys test)

RXファミリ 静電容量計測精度向上のためのセンサ補正

ヤマハDante機器と他社AES67機器の接続ガイド

PowerPoint プレゼンテーション

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

AN

ブート領域、フラッシュ領域の分割方法 RL78ファミリ用Cコンパイラ CC-RL

< 動作マトリクス > 停止 REQ 固定位置 REQ 往復 REQ 停止 () 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止 ( 固定位置 ) 現在位置と同じなら無視異なれば停止パルス中へ 停止パルス中へ 停止パルス中 ( 停止パルス終了後 ) ( 停止パルス終了後動作 )

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2015/8/21 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controller Ad

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

赤外線受光モジュール C言語リモコンプログラム解説マニュアル

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

RX ファミリ、M16C ファミリ アプリケーションノート M16CからRXへの置き換えガイド 調歩同期式シリアル通信(UART)編

GR-SAKURA-SAのサンプルソフト説明

形式 :MXAP 計装用プラグイン形変換器 MX UNIT シリーズ アナログパルス変換器 ( デジタル設定形 ) 主な機能と特長 直流入力信号を単位パルス信号に変換 出力周波数レンジ 出力パルス幅を前面パネルで設定可能 ドロップアウト機能付 ループテスト出力付 出力パルス数をカウント表示 ( 手動

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

橡TaroLite PDF

Microsoft Word - TC74HC107AP_AF_J_P9_060201_.doc

NJU72501 チャージポンプ内蔵 圧電用スイッチングドライバ 概要 NJU72501はチャージポンプ回路を内蔵し 最大で3V 入力から 18Vppで圧電サウンダを駆動することができます このチャージポンプ回路には1 倍 2 倍 3 倍昇圧切り替え機能を備えており 圧電サウンダの音量を変更すること

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

内蔵メモリ Flash EEPROM - 128K バイト (S1C17501F0A) - 96K バイト (S1C17501F1A) RAM - 4K バイト - 2K バイト ( バッテリーバックアップ可能 ) 動作クロック メインクロック - 48MHz USB を使用する場合 - 1~48M

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

KDC

R7G4HML3 6 LC2 取扱説明書 リモート I/O R7G4H シリーズ M E C H A T R O L I N K - Ⅲ 用 モニタ出力付 絶縁 2 点 ねじ端子台ロードセル入力ユニット 形式 R7G4HML3-6 - LC EU CE 許容電圧範囲 消費電流 直流

ANJ-0003: ADXL345 を用いた歩数計

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

RL78/F13, F14 割り込み要因判別方法

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

Microsoft Word - 本文.doc

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2016/06/23 R03 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controll

<4D F736F F D208A4A94AD835A B F825394B290882E646F63>

CMOS リニアイメージセンサ用駆動回路 C10808 シリーズ 蓄積時間の可変機能付き 高精度駆動回路 C10808 シリーズは 電流出力タイプ CMOS リニアイメージセンサ S10111~S10114 シリーズ S10121~S10124 シリーズ (-01) 用に設計された駆動回路です セン

Report Template

R8C/38Aマイコン R8C/35Aマイコン 制御ライブラリ解説マニュアル

メモリ空間 - 最大 16M バイトの空間をアクセス可能 (24 ビットアドレス ) DSP MUL( 乗算演算 ) ビット (1 サイクル ) MAC( 積和演算 ) ビット (1サイクル) DIV( 除算演算 ) ビット (17~20 サイクル ) 内蔵

<91E63589F161>

Transcription:

RX62N 周辺機能紹介 TMR 8 ビットタイマ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A

コンテンツ TMR の概要 プログラムサンプル (1) パルス出力機能 (8 ビットモード ) プログラムサンプル (2) インターバルタイマ機能 (16 ビット コンペアマッチカウントモード ) プログラムサンプルのカスタマイズ 2

TMR の概要 3

TMR の仕様 4

TMR の動作概要 外部クロック 設定 比較 TCNT コンペアマッチ TCORA 時間 5

プログラムサンプル (1) パルス出力機能 (8 ビットモード ) 6

プログラムサンプル (1) パルス出力機能仕様 パルス出力機能のプログラム例チャネル0のパルス出力機能を用い出力端子から100KHz(10μs 周期 ) デューティ比 50% のパルスを出力する 仕様 動作モード パルス出力 チャネル チャネル0(8ビットモード ) を使用 クロックソース PCLK[48MHz] カウンタクリア コンペアマッチA カウントスタートソフトウェアトリガ 割り込み なし 出力端子 TMO0 端子 7

パルス出力の動作 カウンタ MAX = 0xFF コンペアマッチでカウンタをクリア 設定値 カウンタ 時間 電圧 デューティ比 50% のパルス 出力端子 8

プログラム フローチャート リセット スタート main スタートアップルーチン 初期化 カウント開始 init_tmr0 TMR0 初期化 start_tmr0 TMR0 カウントスタート CPU 内部レジスタ クロックレート およびメモリ内の静的変数領域はスタートアップ ルーチン内で初期化されます wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 パルス出力 (H/W) 9

パルス出力機能の初期化フロー 初期化開始 モジュールストップ解除 コンスタントレジスタの設定 カウンタクリア条件の設定 出力信号の設定 初期化終了 10

モジュールストップコントロールレジスタ A(MSTPCRA) ユニット 0 使用可 11

カウント値の設定 出力端子電圧 設定値 5μs 5μs 100KHz のパルスは 5μs ごとに信号がトグルする カウンタ 時間 コンスタントレジスタ値 =48 [MHz] 5[ µ s] 1 = 240 1 < 8ビット 12

タイムコンスタントレジスタ A(TCORA) 239 チャネル 0 ( カウント値 - 1) を設定 カウント値 = 240 13

タイマコントロールレジスタ (TCR) 出力端子電圧 5μs 5μs 設定値 TCORA カウンタ 時間 14

タイマコントロール / ステータスレジスタ (TCSR) 出力端子電圧 5μs 5μs 設定値 TCORA カウンタ 時間 15

パルス出力機能の初期化関数 void init_tmr0(void) { MSTP(TMR0) = 0; //set count TMR0.TCORA = 5*48-1; // TCNT0 clear by compare match A TMR0.TCR.BIT.CCLR = 0x01; // TMO0 is toggle TMR0.TCSR.BYTE = 0xE3; バイトアクセス } 初期化開始モジュールストップ解除カウント値の設定カウンタクリア条件の設定出力信号の設定 初期化終了 16

タイマカウンタコントロールレジスタ (TCCR) 0x08 初期状態カウント停止 カウント動作 17

パルス出力機能のカウント開始関数 void start_tmr0(void) { // count start // - CSS internal clock // - CKS is PCLK TMR0.TCCR.BYTE = 0x08; } main init_tmr0 TMR0 初期化 start_tmr0 TMR0 カウントスタート wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 18

パルス出力機能のメイン関数 void main(void) { // Initialize timer (TMR0) init_tmr0(); // TMR0 and TMR1 start start_tmr0(); while(1){ // CPU sleep wait(); } } main init_tmr0 TMR0 初期化 start_tmr0 TMR0 カウントスタート wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 19

プログラムサンプル (2) インターバルタイマ機能 (16 ビット コンペアマッチカウントモード ) 20

プログラムサンプル (2) インターバルタイマ機能仕様 インターバルタイマ機能のプログラム例チャネル 0 1 のインターバル タイマ機能を用い 1000ms 毎に LED1 を点滅する 仕様 動作モード チャネル クロックソース コンペアマッチ カウンタクリア インターバルタイマチャネル0 1( 16ビット コンペアマッチカウントモード ) を使用 PCLK[48MHz] チャネル0=20msec 周期チャネル1=TMR0のコンペアマッチ50 回 (20ms 50=1000ms) チャネル0=コンペアマッチA チャネル1=コンペアマッチA カウントスタートソフトウェアトリガ 割り込みチャネル1のコンペアマッチA 割り込み 21

コンペアマッチカウントモードの動作 チャネル 0 と 1 を組み合わせて使用する チャネル0のカウンタ MAX = 0xFF 設定値 クロックをカウント チャネル1のカウンタ MAX = 0xFF 20ms 設定値 チャネル 0 のコンペアマッチ回数をカウント 50 回 22

プログラム フローチャート リセット スタート main スタートアップルーチン init_port LED の初期化 初期化 カウント開始 init_tmr01 TMR0,1 初期化 start_tmr01 TMR0 カウントスタート setpsw_i( 組み込み関数 ) 割り込み許可 TMR1 割り込み関数 (Excep_TMR1_CMI1A) LED 制御 RTE CPU 内部レジスタ クロックレート およびメモリ内の静的変数領域はスタートアップ ルーチン内で初期化されます wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 割り込み要求 (H/W) 23

コンペアマッチカウントモードの初期化フロー 初期化開始 モジュールストップ解除 チャネル 0,1 のカウント値の設定 チャネル 0,1 のカウンタクリア条件の設定 チャネル 1 のクロックソースの設定 割り込み許可 割り込みコントローラの割り込み許可 割り込み要求の許可 割り込み優先レベルの設定 初期化終了 24

カウント値の設定 チャネル 0 コンスタントレジスタ値 =48 [MHz] 20[ms] 1=960K 1 > 8ビット 48[MHz] 20[ms] = 8192 117 1< 8ビット 1 = 117.1875-1 チャネル 1 コンスタントレジスタ値 =50 1 0.1875[ 回 ] 誤差 [ 時間 ] = =32[ µ s] 48[MHz] 8192 誤差 [ 時間 ] = 50[ 回 ] 32[ µ s] =1.6[ms] 25

タイムコンスタントレジスタ A(TCORA) 116 49 チャネル 0 ( カウント値 - 1) を設定 チャネル 1 チャネル 0 のカウント値 = 117 チャネル 1 のカウント値 = 50 26

タイマカウンタコントロールレジスタ (TCCR) 27

コンペアマッチカウントモードの初期化関数 (1) void init_tmr01(void) { // Wakeup TMR0,TMR1 MSTP(TMR0) = 0; // TCORA is 20ms count // 48000KHz(48MHz)*20/8192 TMR0.TCORA = 48000*20/8192-1; // TCORA is 50 count TMR1.TCORA = 50-1; // TCNT0 clear by compare match A TMR0.TCR.BIT.CCLR = 1; TMR1.TCR.BIT.CCLR = 1; // TCNT0 counts for compare match of TCORA TMR1.TCCR.BIT.CSS = 3; // CMIEA is enable TMR1.TCR.BIT.CMIEA = 1; // CMIA1 is enable IEN( TMR1, CMIA1 ) = 1; // CMIA1 interrupt Level is 1 IPR( TMR1, CMIA1 ) = 1; } 初期化開始モジュールストップ解除チャネル0,1のカウント値の設定チャネル0,1のカウンタクリア条件の設定チャネル1のクロックソースの設定割り込み許可割り込みコントローラの割り込み許可割り込み優先レベルの設定初期化終了 28

割り込みのタイミング チャネル0のカウンタ MAX = 0xFF 設定値 クロックをカウント チャネル1のカウンタ MAX = 0xFF 設定値 割り込み チャネル 0 のコンペアマッチ回数をカウント 29

タイマコントロールレジスタ (TCR) 30

割り込みコントローラの設定 割り込みコントローラ CPUへ IER( 許可 ) IPR( 優先レベル ) 31

割り込み要求許可レジスタ m(ierm)(m = 02h ~ 1Fh) IER16 32

割り込み要因プライオリティレジスタ m(iprm)(m= 00h~8Fh) チャネル 1 のコンペアマッチ A 割り込み :IPR69 33

コンペアマッチカウントモードの初期化関数 ~ 割り込みの設定 ~ void init_tmr01(void) { // Wakeup TMR0,TMR1 MSTP(TMR0) = 0; // TCORA is 20ms count // 48000KHz(48MHz)*20/8192 TMR0.TCORA = 48000*20/8192-1; // TCORA is 50 count TMR1.TCORA = 50-1; // TCNT0 clear by compare match A TMR0.TCR.BIT.CCLR = 1; TMR1.TCR.BIT.CCLR = 1; // TCNT0 counts for compare match of TCORA TMR1.TCCR.BIT.CSS = 3; // CMIEA is enable TMR1.TCR.BIT.CMIEA = 1; // CMIA1 is enable IEN( TMR1, CMIA1 ) = 1; // CMIA1 interrupt Level is 1 IPR( TMR1, CMIA1 ) = 1; } 初期化開始モジュールストップ解除チャネル0,1のカウント値の設定チャネル0,1のカウンタクリア条件の設定チャネル1のクロックソースの設定割り込み許可割り込みコントローラの割り込み許可割り込み優先レベルの設定初期化終了 34

割り込み関数の作成とベクタテーブルの登録 // TMR1_CMI1A #pragma interrupt (Excep_TMR1_CMI1A(vect=177)) void Excep_TMR1_CMI1A(void) { // Invert P47(LED) PORT4.DR.BIT.B7 ^= 1; } TMR1 割り込み関数 (Excep_TMR1_CMI1A) LED 制御 RTE 35

タイマカウンタコントロールレジスタ (TCCR) 0x0E 初期状態カウント停止 カウント動作 36

コンペアマッチカウントモードのカウント開始関数 main void start_tmr0(void) { // count start // - CSS internal clock // - CKS is PCLK/8192 TMR0.TCCR.BYTE = 0x0E; } init_port LED の初期化 init_tmr01 TMR0,1 初期化 start_tmr01 TMR0 カウントスタート setpsw_i( 組み込み関数 ) 割り込み許可 wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 37

コンペアマッチカウントモードのメイン関数 void main(void) { // Initialize for LED init_port(); // Initialize timer (TMR0,TMR1) init_tmr01(); // TMR0 and TMR1 start start_tmr01(); // Interrupt enable (CPU) setpsw_i(); while(1){ // CPU sleep wait(); } } main init_port LED の初期化 init_tmr01 TMR0,1 初期化 start_tmr01 TMR0 カウントスタート setpsw_i( 組み込み関数 ) 割り込み許可 wait( 組み込み関数 ) 割り込み要求待ち 低消費電力モードへ遷移 38

プログラムサンプルのカスタマイズ 39

16 ビットモード (16 ビットカウントモード ) の動作 チャネル 0: 上位 8 ビット 外部クロック チャネル 1: 下位 8 ビット 16 ビットの比較 40

8 ビットモードから 16 ビットモード (16 ビットカウントモード ) への変更 void init_tmr0(void) { // Wakeup unit 0 of TMR MSTP(TMR0) = 0; // set count TMR0.TCORA = 48*5-1; // 48M*5μ=24*5 } 100KHz のパルス出力 // TCNT0 clear by compare match A TMR0.TCR.BIT.CCLR = 0x01; // TMO0 is toggle TMR0.TCSR.BYTE = 0xE3; 10kHz のパルス出力 void init_tmr01(void) { // Wakeup unit 0 of TMR MSTP(TMR0) = 0; // Cascade TMR0.TCCR.BIT.CSS = 3; // set count TMR01.TCORA =48*50-1; // TCNT0 clear by compare match A TMR0.TCR.BIT.CCLR = 0x01; } // TMO0 is toggle TMR0.TCSR.BYTE = 0xE3; カスケード接続 16 ビットアクセス カウントクリア条件の設定はチャネル 0 void start_tmr0(void) { // count start // - CSS internal clock // - CKS is PCLK TMR0.TCCR.BYTE = 0x08; } void start_tmr01(void) { // count start // - CSS internal clock // - CKS is PCLK TMR1.TCCR.BYTE = 0x08; } クロックの設定はチャネル 1 41

END ルネサスエレクトロニクス株式会社