高木殿
東浦です
私もこれで泣きました。最初はハードウェアトラブルと思ってました。
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 */
> }
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> −−−−
>
>
>
>