掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MCP4726のソースの書き方について (ID:149602)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
2017年08月23日の記事なので完全に忘れてますが、 15: uint16_t value = 4096 / 2; // (0-4095) 16: Wire.beginTransmission(DEVICE_ADDRESS); 17: Wire.write((value >> 8) & 0x0F); 18: Wire.write(value); 19: Wire.endTransmission(); MCP4726は12ビットD/A変換モジュールなので ・17行目で4bit出力 ・18行目で8bt出力 で合計12bitの出力をしていたと思います。 <計算方法> value = 4096/2 = 2048 = 1000 0000 0000 = 12bit 17行目 value >> 8 = 0000 0000 1000 0000 0000 1000 & 0x0F(1111) = 1000 結果 Wire.write(0000 1000); 18行目 value = 1000 0000 0000 結果 Wire.write(0000 0000); データシートのp41、p42辺りの Config Bits、DAC Register Valueが記載されていますが、 17行目の上位4bitは0000の為、何かの設定はデフォルトになっていると思われます。 確認してみました。 p49にWrite Volatile DAC Register Commandだと「PD1:PD0 only」(Power bits Down bits)と書かれています。 p50をみると上位4bit中の上位2bitは00がデフォルトで下位2bit(PD1:PD0)が00の場合は「Not Powered Down (Normal operation)」とあります。なので上位4bitは0000で良いと思われます。 間違っているかもしれませんので詳細はデータシートをご確認ください。 https://akizukidenshi.com/download/ds/microchip/MCP4726.pdf あんまり覚えてなくてすみませんです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.