[H8-ML(2049)] Re: Bポートの入力方法
From: "T.Higashiura 東浦 孝文" <higashi@xxxxxxxxxx>
Date: 2002年07月09日(火)16時07分21秒
高木殿

東浦です

私もこれで泣きました。最初はハードウェアトラブルと思ってました。

3664FのPort Bはデジタル入力、アナログ入力の兼用です。
アナログ入力をディセイブル出来ません。(何とかして欲しい物です)
デフォルトでは、0bit目はアナログ入力となっているため、
デジタル入力が使用できません(必ず0を返します)
1bit目から使用する等の逃げ技が必要です。

PortBを全てデジタル入力とされる場合には、アナログ端子設定を変えて
2度スキャンした結果をORとかANDして結果を取得する必要があります。



>  初めて書き込みさせて頂きます。高木といいます。
> 
>  秋月のH8/3664Fマイコンを購入して、取り組み始めたばかりです。Bポー
> トの入力の方法についてお分かりの方教えて頂けないでしょうか?
> 
>  BポートはA/D変換器のアナログ入力と汎用入力ポートの兼用になっており、
> レジスタはポートデータレジスタB(PDRB)しかありません。
> 
>  そこで、以下のようなBポート入力チエックプログラムを作ってみましたが
> 、うまく入力してくれません。
> 
>  宜しくお願い致します。
> 
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> −−−
> #include <3664f.h>
> main()
> {
>     IO.PCR8 = 0xff;                           /* ポート設定 ポート
> 8(P8):出力     1111 1111   */
> 
>  if (IO.PDRB.BIT.B0 == 0) IO.PDR8.BYTE=0xfe; /* 入力: ポートB bit0 =0, 出力:
>  ポート8 1111 1110  */
>  else  IO.PDR8.BYTE=0xfd;               /* 入力: ポートB bit0!=0,
> 出力: ポート8 1111 1101  */
> }
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> −−−−
> 
> 
> 
> 

スレッド概略
[2046(R)](起点)
 └[表示中]
   └[2060(1)]


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


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