目次

メニュー

komaへのコメント

最新の10件を表示しています。 コメントページを参照

お名前:

2010-04-24-タイマ割り込みでLED点灯

前回のタイマを使用したPWM波形は、TimerRC専用の出力ピンを使用しているため、それを別のピンに割り当てることはできない。
なので、今度はタイマ割り込みを発生させてLEDに接続されているピンPWM波形を発生させたい。
TimerRCの割り込み制御レジスタはなぜか3つもあるorz

レジスタ名機能
TRCSR0タイマRC割り込みのインプットキャプチャ/アウトプットコンペアの機能切り替え
TRCIERタイマRC割り込みを許可するかどうかを決めるレジスタ
TRCICタイマRC割り込みのレベルを決定するレジスタ

R8Cには割り込みレベル(Processor Interrupt Priority Level: IPL)という値がある。
タイマを含めた、あらゆる割り込み処理に対してレベルを決めるレジスタが用意されていて、

割り込みのレベル>IPL

を満たさないものは割り込み処理が実行されない。
IPLは、例えば以下の処理を実行すると変更できる。

//IPLを3に変更
asm("LDIPL #3") ;

割り込み時に実行される関数定義については、#pragma interrupt によって定義する。関数名は任意。
(vect=○○)というのは、 割り込みベクタ番号 を与えている。すべての割り込み処理に対して一意の値があり、これによって何の割り込み処理のための関数であるかを認識させるっぽい。
ちなみに、TimerRCのSoftware Interrupt Numberは 7

#pragma interrupt _timer_rc(vect=7)
void _timer_rc(void);

▼ソース

file100423timer_rc.c

2010-04-23-サンプルコード

とりあえずリンク
R8C/2Dシリーズのサンプルコード集

2010-04-23-感想とか

とりあえず、R8Cのマニュアルはとっても分かりにくいと言うことが分かった!
網羅的に記述してあるけど、とりあえず動かすにはどうすればいいのかっていうのが全然理解できない。
このままではLEDをチカチカさせることもままならない!!

2010-04-22-タイマを使用する_02

PWM波形が出た!!っと言ってもほとんどサンプル通りですが。。
msttrcというレジスタがあることを完全に見落としていたため、
かなり足止めを食らいました。

▼ソース

file100421timer_rc.c

▼PWM波形

2010-04-23-pwmwave.jpg

2010-04-22-タイマを使用する_01

R8Cでタイマをセットアップするまで、面倒な設定が多すぎるorz
タイマのカウント用CLKやPWMモードやら、柔軟な設計ができるのはいいけど、
いちいち設定すべきレジスタが代わるのがめんどくさい。
レジスタの名前も覚えにくい。。

2010-04-21-HEW新規ワークスペース生成

HEW,High-performance Embedded Workshopは開発環境の名前。
プロジェクト生成後、マイコンのSFR(Special Function Resistor)を制御しやすくするため、ヘッダファイルを別途ディレクトリにコピーする必要がある。以下の中にある sfr_r82d.h というファイル。

C:\Program Files\Renesas\Hew\System\Pg\Renesas\M16C\V5_42_0\Generate\sfr\R8C\R8C2C_2D

このヘッダファイルの一番上の行に、なぜか日付が書いてあり、これがあるとコンパイルできないので消す。

2010-04-21-R8C/2Dマイコン開発セット

kanouさんに相談して、これを買ってみました。
http://akizukidenshi.com/catalog/g/gK-03018/

早速LCDモジュールの半田付けをミスりましたorz


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS