Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::鉄道模型 DCCのエンコーダ その3

鉄道模型 DCCのエンコーダ その3

このエンコーダ?(エンコーダもどきといったほうがいいかなぁ。。。)DIPスイッチでアドレスとインストラクションをHEXで設定して、送信するというものですが、IOのピン数の関係でPSoCを選んでいます。
デバイスエディターを殆ど使わず、アプリケーションエディターでCで書いています。

ところがつまらない間違いはあるもので、DIPスイッチが読めなくなったのです。

DIPスイッチはPORT0[0−7]に接続していて、アドレス用かインストラクション用かはスイッチの片側に接続されているPORT1のbit0または1に0を出力して、それを読み取るというキースキャンで読み取っています。

最初は読めていたのですが、なぜかあるときから読めなくなったのです。

変だなぁ。。。。。

しばらく悩みます。。。。

デバイスエディタでみるとPORT0入力設定がハイインピーダンスアナログになっています???
PWMモジュールを削除するときにでも、変えたのでしょう。これを通常のハイインピーダンスにしてOKとなりました。

デバイスエディターはIOの設定のみにしか使っていなくても、設定が2つに分かれていると原因を探すのに手間を食うという例でしたね。

PICもそうですが、最近のマイコンは多機能でIOも設定が色々できて、便利ですが、そのため足を取られることも多いですね。





Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin