mbed LPC824のファームウェアをアップデートするには以下のページに従って行う。
https://os.mbed.com/teams/Switch-Science/wiki/Firmware-LPC824
PHP+MySQLのWEBシステム開発の現場からお届け。でも実は食べ物の話題が多い。。。
Written in 2017年10月02日 by シンプル・アイ社長 | コメントする( 0件 )
mbed LPC824のファームウェアをアップデートするには以下のページに従って行う。
https://os.mbed.com/teams/Switch-Science/wiki/Firmware-LPC824
Written in 2017年10月01日 by シンプル・アイ社長 | コメントする( 0件 )
mbed LPC824はinputがデフォルトでプルアップされている。プルアップ抵抗を追加しなくていいから便利なのだが問題がある。
mbed APIにおけるDigitalInクラスでは、コンストラクタで、
DigitalIn sensor( P0_6, PullNone );
のようにピンモードを指定できるし、mode()メソッドを使って、
sensor.mode( PullNone );
ともできる。
ちなみに、指定できるモードは以下の通り。
PullUp, PullDown, PullNone, OpenDrain
このようにDigitalInでは何の問題もないのだが、アナログ入力が問題だ。
AnalogInクラスにはこのピンモードを設定するメソッドがない!! なぜだ。。。。
mbedのサイトを見ると、
Warning
一部のCPUのmbedライブラリについて、アナログ入力ピンの内蔵プルアップ/プルダウンがONになっているものがあります。(意図してか、意図せずか不明)
この場合、ドライブ能力の低い電圧源や、抵抗器を介したアナログ入力の値がおかしくなります。ピンモードを設定しているレジスタを直接アクセスして、プルアップ/プルダウンをOFFにしてください。
https://os.mbed.com/users/okini3939/notebook/AnalogIn_jp/
と書かれている。なんとも面倒な。レジスタを触るのか。
しかしレジスタを触らなくてもうまいことハックできちゃった。
つまり、いったんDigitalInで目的のピンをPullNoneで設定しておいて、再度同じピンでAnalogInを生成する。するとPullNoneなAnalogInが出来上がる。
DigitalIn dummy( P0_6, PullNone );
AnalogIn sensor( P0_6 );
これで動いたさ。
最近のコメント