[H8-ML(496)] Re: 位相計数モードについて
From: Kenji Arai <kenjia@xxxxxxxxxxxx>
Date: 2000年01月12日(水)22時54分49秒
新井と申します。

On Wed, 12 Jan 2000 21:07:49 +0900
Tatsumi Shimizu <tatsumi@xxxxxxxxxxxxxxxxxxxxxx> wrote:

>  >  ITU2を位相計数モードで使用されるのであれば、
>  >  ポートAの0,1(93,94pin)ではなく、
>  >  TIOCA2,TIOCB2(99,100pin)に接続して使用しなければ
>  >  動かないと思いますが。(^^;)
>  >  いかがでしょう?
> ポートAの0,1(93,94pin)から,TIOCA2,TIOCB2(99,100pin)に接続
> しなおしましたが,動いているようには見えません・・・.
> プログラム自体の問題でしょうか?

プログラムに関して、私がDDSの周波数可変に使用しているプログラムを紹介しま
す。

イニシャライズの中で、(余計な部分が書いてありますが)
	/* Initialize switch input */
	P5.DDR = 0x00;
	P5.PCR.BYTE = 0xff;	/* Set pull up resitor on */
	/* P8 */
	P8.DDR = 0x0c;		/* /CS1,/CS2 use for output, others are input */
	/* PA */
	PA.DDR = 0xdc;		/* PA.0 & PA.1 are input */
	/* PB */
	PB.DDR = 0xfd;		/* PB.1 is input */
	/* Initialize Audio output ( Use ITU CH1 ) */
	ITU1.TCR.BIT.CCLR = 2;	/* Counter is cleared by GRB */
	ITU1.TCR.BIT.TPSC = 3;	/* Internal,CLK/8 */
	ITU1.TIOR.BIT.IOB = 3;	/* Output toggles at GRB */
	ITU1.GRB = F_600HZ;	/* Osc frequency */
	/* Initializefor Two phase type Rotary Encoder ( Use ITU CH2 )*/
	ITU.TMDR.BIT.MDF = 1;	/* Activate the phase count mode */
	ITU.TSTR.BIT.STR2 = 1;	/* Start timer2 */
	/* Initialize Key interval counter ( Use ITU CH3 ) */
	ITU3.TCR.BIT.CCLR = 2;	/* Counter is cleared by GRB */
	ITU3.TCR.BIT.TPSC = 3;	/* Internal,CLK/8 */
	ITU3.GRB = 0xffff;	/* Max timer length */
	ITU.TSTR.BIT.STR3 = 1;	/* Start timer3 */
	ITU3.TIER.BIT.IMIEB = 1;/* Comparae mach interrupt enable with GRB */
	/* DDS */
	osc_freq_tx = base_freq = INIT_FREQ;	/* Set initial freqency */
	reset_dds((unsigned long)( ((double)base_freq * CONST2E32) /
(double)BASE_FREQ ));  /* Reset DDS chip */

実際のデータを読むのは、
void cy0_main( void )
{
	int	d;
	char	*px,*qx;

	/* Read counter data and set a frequency */
	d = ITU2.TCNT;		/* Read counter value */
	if( d == old_rtry_cntr ){
		return;
	}
	old_rtry_cntr = d;
	flg_rtry_update = 1;	/* set updataing flag */
	osc_freq_tx = base_freq - 10 * (long)d;
	osc_freq_tx = chck_freq_range( osc_freq_tx );
	cnvrt_dds(osc_freq_tx);
}

としています。つまり清水さんの書かれた部分は、私の動作しているプログラム
と同じと思われます。
ピンアサインは、PA0/93ピン(1‐8)とPA1/94ピン(1‐9)(カッコ内は秋月H8
ボードのコネクタ端子)を使用しています。

もう一度、端子電圧を測定したらいかがでしょうか?
ゆっくり変化させれば、テスターでも確認できると思います。

JH1PJL
-------------------------------------------
Kenji Arai
E-mail:  arai876@xxxxxxxxxxx
         kenjia@xxxxxxxxxxxx
         jh1pjl@xxxxxxxx 
URL http://www.page.sannet.ne.jp/kenjia/
スレッド概略
[490(R)](起点)
 └[494(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]