金沢様 重ねてのご回答、大変感謝しております。 言葉の使い方もままならず、ご迷惑をおかけしております。 さて、モーター&ドライバですが、 日本パルスモータ社のPFC55-48B04というモータと BCD4012Bというドライバを用いて行おうとしています。 このドライバーの取扱説明書にあります、CCWの+-とCWの+-の入力部に 信号入力(パルス)とあったものですから 以下のようなプログラムでパルスを発生したものを H8の出力ポートとこのドライバを接続してパルスを 入力と考えた次第です。 これは、正しいことかどうかご判断賜れましたら幸いに存じます。 ---------------------------------------------------------- /* CCW(左回り・反時計回り)初期化 ************************************/ void ccw_init(void){ /* トグルモード出力 */ ITU.TMDR.BYTE = 0x98; /* 10011000 通常モード */ ITU1.TIOR.BYTE = 0xBB; /* 10111011 トグル出力 */ ITU1.TCR.BYTE = 0xA3; /* GRAコンペアマッチ clock 1/8 10100011 */ ITU1.GRA = 0xfffe; /* (FFFF:65535:21.333msec) */ ITU.TSTR.BIT.STR1 = 0; /* カウント停止状態 */ PADDR = 0xff; /* portA出力に設定*/ return; } /* CCW(左回り・反時計回り)パルス発生 ************************************/ /* (パル数を与えてこの関数を呼び出す。)*/ ccw(int x){ /* CCW側の(TIOCA1:14ポート) */ ITU.TSTR.BIT.STR1 = 1; /* カウント開始 */ x = x * 2 - 1; while(x != 0){ ITU1.GRA = 0x1E00; /* GRAを0x1E00 7680(2.5msec)に設定 */ do{ /* TCNT = GRAになるまで待つ */ }while(ITU.TISRA.BIT.IMFA1 == 0); x = x - 1; ITU.TISRA.BIT.IMFA1 = 0; /* 検知フラグを戻して再開 */ } ITU.TSTR.BIT.STR1 = 0; /* ITU1 TCNTカウント終了 */ ITU1.GRA = 0xFFFE; /* GRAを65534に設定 */ return; } ---------------------------------------------------------- >>コントローラのCCWとCWに入り口に金沢様の教えてくださいました >>トグル出力のパルスを入力してコントロールいたします。 > >これ違う CW/CCWは回転方向を決めるもので パルスを入れるものでない >コントローラにクロック入力は無いのですか そこにトグル出力を入れます > > >******************************************** > 〒216-0015 川崎市宮前区菅生6-9-2 > Tel 044-977-6886 > Fax 044-977-2384 > E-mail kanazawa@xxxxxxxxxxxxx > 金沢政夫 >******************************************** ---- 鈴木 政之 suzuki@xxxxxxxxxx