目次

メニュー

komaへのコメント

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

お名前:

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

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

2010-04-23-感想とか

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

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

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

以下ソースです。

#include	"sfr_r82D.h"

void timer_rc_init(void);	//Initial setting of Timer RC SFR

void main(void)
{
	
//-----------------------------------------------------------------------
//	外部水晶発振子20MHz 使用
//-----------------------------------------------------------------------
	asm("FCLR I");	//	割り込み処理禁止	
	prc0 = 1;		//	cm0,cm1,ocd,har0,har1,har2 書き込み許可
	cm13 = 1;		//	cm1_addr(0007h) bit3 P4-6,7 X'tal
	cm05 = 0;		//	cm0_addr(0006h) bit5 X'tal 発振
	cm06 = 0;		//	cm0_addr(0006h) bit6 cm16,cm17 有効
	asm("NOP");		//	発振が安定するまで待つ
	asm("NOP");		//	発振が安定するまで待つ
	asm("NOP");		//	発振が安定するまで待つ
	asm("NOP");		//	発振が安定するまで待つ
	ocd2 = 0;		//	ocd_addr(000Ch) bit3 メインクロック選択
	prc0 = 0;		//	cm0,cm1,ocd,har0,har1,har2 書き込み禁止
	//asm("FSET I");	//	割り込み処理許可	

//-----------------------------------------------------------------------
//	LED Port を設定する
//-----------------------------------------------------------------------

	pd2 = 0xff;		//	ポートP2 出力モードに設定

//-----------------------------------------------------------------------
//	Timer Port を設定する
//-----------------------------------------------------------------------

	//pd5 = 0xff;

//-----------------------------------------------------------------------
//	Initialize SFR of Timer RC
//-----------------------------------------------------------------------

	timer_rc_init();


//-----------------------------------------------------------------------
//	Main
//-----------------------------------------------------------------------

	while(1){
	}
}

/************************************************************************************/
/*	Name:        timer_rc_init
/*	Parameters:  None
/*	Returns:     None
/*	Description: Initial setting of Timer RC SFR
/************************************************************************************/


void timer_rc_init(void){
	
	// timer RC enable
	msttrc = 1;
	
	// timer on/off
	tstart_trcmr = 0;			// Stop TRC Count 
	trcic = 0x00;			// Interrupt disabled
	
	
	// pwm mode setup
	pwmb_trcmr = 1;			// TRCIOB PWM mode selection bit:PWM mode
	pwmc_trcmr = 1;			// TRCIOC PWM mode selection bit:PWM mode
	pwmd_trcmr = 1;			// TRCIOD PWM mode selection bit:PWM mode
	pwm2_trcmr = 1;			// PWM2 mode selection bit:PWM mode
	bfc_trcmr = 0;			// TRCGRC:General register
	bfd_trcmr = 0;			// TRCGRD:General register
	
	// active lebel setup
	tob_trccr1 = 0;			// TRDIOB output level:"H" active
	toc_trccr1 = 0;			// TRDIOC output level:"H" active
	tod_trccr1 = 0;			// TRDIOD output level:"H" active

	// pin output enable
	eb_trcoer = 0;			// TRCIOB Pin Output enable
	ec_trcoer = 0;			// TRCIOC Pin Output enable
	ed_trcoer = 0;			// TRCIOD Pin Output enable
	pto_trcoer = 0;			// INT0 of Pulse output forced cutoff input disabled

	// count source clk setup
	tck0_trccr1 = 0;			// Count Source Selection Bit:f1("000")
	tck1_trccr1 = 0;			// f1 20MHz
	tck2_trccr1 = 0;
	cclr_trccr1 = 1;			// The TRC register clear at the compare match with TRCGRA

	// count value setup
 	trc = 0;				// The Count value of TRC is initialized to "0"
	trcgra = 4000 - 1;		// 25ns * 4000 = 100us
	trcgrb = 1000 - 1;		// 25ns * 1000 =  25us
	trcgrc = 2000 - 1;		// 25ns * 2000 =  50us
	trcgrd = 3000 - 1;		// 25ns * 3000 =  75us

	trcier = 0x00;			// Disable interrupts ,ovie/imied/imiec/imieb/imiea
	tstart_trcmr = 1;			// Start TRC Count
}

▼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