• 検索結果がありません。

スライド 1

N/A
N/A
Protected

Academic year: 2021

シェア "スライド 1"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

ルネサス半導体トレーニングセンター

Rev. 1.00

ルネサス

エレクトロニクス株式会社

2013/08/02

RX62N 周辺機能紹介 CMT

コンペアマッチタイマ

(2)

コンテンツ

CMTの概要

プログラムサンプル

(3)
(4)

CMTの仕様

CMT

CMT0

CMT1

ユニット

0

CMT2

CMT3

ユニット

1

16ビットタイマ

チャネル

(5)

CMTの動作概要

設定

(6)
(7)

サンプル・プログラム仕様

■CMTのプログラム例

CMT0を用い500ms毎にLEDを点滅する。

仕様

・チャネル チャネル0を使用

・クロックソース

PCLK[48MHz]

・割り込み

コンペアマッチ割り込み

(8)

プログラム・フローチャート

init_CMT0

CMT0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

※CPU内部レジスタ、クロック

レート、およびメモリ内の静的

変数領域はスタートアップ・

ルーチン内で初期化されます。

start_CMT0

CMT0 カウントスタート

init_PORT

LEDの初期化

LED点滅

リセット・スタート

スタートアップルーチン

main

RTE

CMT0割り込み関数

(Excep_CMTU0_CMT0)

setpsw_i(組み込み関数)

割り込み許可

割り込み要求(H/W)

初期化

カウント開始

(9)

コンペアマッチカウントモードの初期化フロー

内部クロックの設定

コンスタントレジスタの設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

初期化終了

割り込み要求の許可

(10)

モジュールストップコントロールレジスタA(MSTPCRA)

(11)

ビット

 

 

値=

コンスタントレジスタ

48

[

MHz

]

×

500

[

ms

]

1

=

24

M

1

>

16

ビット

 

 

1

46875

-

1

16

512

]

ms

[

500

]

MHz

[

48

×

=

<

カウント値の設定

(12)
(13)

コンペアマッチタイマコンスタントレジスタ(CMCOR)

(カウント値

-

1)を設定

カウント値

=

46875

46874

(14)

コンペアマッチカウントモードの初期化関数(1)

void init_CMT0(void)

{

// Wakeup unit 0

MSTP(CMT0) = 0;

// Clock select is PCLK/512

CMT0.CMCR.WORD = 0x0083;

// Counts for 500ms(48000kHz(48MHz) *500ms/512)

CMT0.CMCOR = 48000*500/512-1;

// CMI0 interrupt is enabled

CMT0.CMCR.WORD |= 0x0080 | 0x0040;

// CMI0 interrupt request is enabled

IEN(CMT0,CMI0) = 1;

// CMI0 interrupt priority level is 1

IPR(CMT0,CMI0) = 1;

}

内部クロックの設定

コンスタントレジスタの設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

(15)
(16)

割り込みコントローラの設定

割り込みコントローラ

CPUへ

IPR(優先レベル)

IER(許可)

(17)

割り込み要求許可レジスタm(IERm)(m

=

02h

1Fh)

(18)

割り込み要因プライオリティレジスタm(IPRm)(m=

00h~8Fh)

(19)

コンペアマッチカウントモードの初期化関数(2)

void init_CMT0(void)

{

// Wakeup unit 0

MSTP(CMT0) = 0;

// Clock select is PCLK/512

CMT0.CMCR.WORD = 0x0083;

// Counts for 500ms(48000kHz(48MHz) *500ms/512)

CMT0.CMCOR = 48000*500/512-1;

// CMI0 interrupt is enabled

CMT0.CMCR.WORD |= 0x0080 | 0x0040;

// CMI0 interrupt request is enabled

IEN(CMT0,CMI0) = 1;

// CMI0 interrupt priority level is 1

IPR(CMT0,CMI0) = 1;

}

内部クロックの設定

コンスタントレジスタの設定

初期化開始

モジュールストップ解除

割り込みコントローラの割り込み許可

割り込み優先レベルの設定

割り込み許可

初期化終了

(20)

割り込み関数の作成とベクタテーブルの登録

LED点滅

RTE

CMT0割り込み関数

(Excep_CMTU0_CMT0)

// CMTU0_CMT0

#pragma interrupt (Excep_CMTU0_CMT0(vect=28))

void Excep_CMTU0_CMT0(void)

{

// Invert P47(LED1)

PORT4.DR.BIT.B7 ^= 1;

}

(21)

コンペアマッチカウントモードのカウント開始関数

void start_CMT0(void)

{

// Start CMT0

CMT.CMSTR0.BIT.STR0 = 1;

}

init_CMT0

CMT0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_CMT0

CMT0 カウントスタート

init_PORT

LEDの初期化

main

setpsw_i(組み込み関数)

割り込み許可

(22)
(23)

コンペアマッチカウントモードのメイン関数

void main(void)

{

// LED Initialization

init_PORT();

// CMT0 Initialization

init_CMT0();

// CMT0 count start

start_CMT0();

// Interrupt enable (CPU)

setpsw_i();

while(1){

// CPU sleep

wait();

}

}

メイン関数

init_CMT0

CMT0 初期化

wait(組み込み関数)

割り込み要求待ち、低消費電

力モードへ遷移

start_CMT0

CMT0 カウントスタート

init_PORT

LEDの初期化

main

setpsw_i(組み込み関数)

割り込み許可

(24)
(25)

周期の変更

void

init_CMT0(void)

{

//

Wakeup

unit

0

MSTP(CMT0)

=

0;

//

Clock

select

is

PCLK/512

CMT0.CMCR.WORD

=

0x0083;

//

Counts

for

500ms(48000KHz(48MHz)*500/512)

CMT0.CMCOR

=

48000*500/512-1;

void

init_CMT0(void)

{

//

Wakeup

unit

0

MSTP(CMT0)

=

0;

//

Clock

select

is

PCLK/512

CMT0.CMCR.WORD

=

0x0083;

//

Counts

for

100ms(48000KHz(48MHz)*100/512)

CMT0.CMCOR

=

48000*100/512-1;

500ms周期

100ms周期

(26)

参照

関連したドキュメント

IDLE 、 STOP1 、 STOP2 モードを解除可能な割り込みは、 INTIF を経由し INTIF 内の割り. 込み制御レジスター A で制御され CPU へ通知されます。

Using the special C- mount ring adapter, the lens can be directly attached to a CCD camera, enabling it to be used as a low cost image ob- servation lens and variable focus lens

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま

料金算定期間 前回検針計量日 ~ 9月4日 基本料金 前回検針計量日 ~ 9月4日 電力量料金 前回検針計量日 0:00 ~ 9月4日

申込共通① 申込共通② 申込共通③ 申込共通④ 申込完了

注意: 条件付き MRI 対応と記載されたすべての製品が、すべての国及び地域で条件付き MRI 対応 機器として承認されているわけではありません。 Confirm Rx ICM

発行日:2022 年3月 22 日 発行:NPO法人