ユーザ用ツール

サイト用ツール


softdev:msp430:lcd2

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
softdev:msp430:lcd2 [2013/10/11 23:14] kingsoftdev:msp430:lcd2 [2014/04/18 00:33] (現在) – [I<sup>2</sup>C仕様書] king
行 1: 行 1:
 ====== MSP430でI2C液晶をいじる ====== ====== MSP430でI2C液晶をいじる ======
-デジタルノギスの表示部を取り出そうと思い、小さい液晶を探した所、秋月さんにI2Cタイプの小型の物があり、それを使う事にしました。ところで、I2Cでどうやって使うのって所から始めました。う〜ん実は判っていたようでいざ使おうとすると、う〜んよくわからん。設定に有るいくつかの事が実際わからなかった。+[[..:degitalnogisu]]の表示部を取り出そうと思い、小さい液晶を探した所、秋月さんにI<sup>2</sup>Cタイプの小型の物があり、それを使う事にしました。ところで、I<sup>2</sup>Cでどうやって使うのって所から始めました。う〜ん実は判っていたようでいざ使おうとすると、う〜んよくわからん。設定に有るいくつかの事が実際わからなかった。 
 + 
 + 
 +===== I2C仕様書 ===== 
 +http://www.nxp.com/documents/user_manual/UM10204_JA.pdf
  
 ===== I2Cを動かす ===== ===== I2Cを動かす =====
行 10: 行 14:
 </blockquote> </blockquote>
  
-特に最後の「データを複数送る場合Co=1で、最終データはCo=0です。」の部分。言っている事は判るのだが、データって0~FFまで有るわけだから、連続で送ったらコントロールかデータかなんて判らんやんか。+特に最後の「データを複数送る場合Co=1で、最終データはCo=0です。」の部分。言っている事は判るのだが、データって0~FFまで有るわけだから、連続で送ったらコントロールかデータかなんて判らんやんか。これはつまり、<color RED>最終データのときはCo=0としなはれということで、連続してデータを送る場合は、最後のデータを送りきったら、STOP状態を作ってのみ終了できるということ。と理解しておこう。</color>下の表が参考になるのだろう
  
   * 一つのバスに複数デバイスをぶら下げる事が出来るのと、MasterになったりSlaveになったりするので、SDA,SCLともOpenDrain。PullUpする必要がある。   * 一つのバスに複数デバイスをぶら下げる事が出来るのと、MasterになったりSlaveになったりするので、SDA,SCLともOpenDrain。PullUpする必要がある。
行 19: 行 23:
  
 ^Co^  Description  ^ ^Co^  Description  ^
-|  0  |Last control byte to be sent.\\ Only a stream of data bytes is allowed to follow.\\ This stream may only be terminated by a STOP condition.\\ 最後の制御バイトが送信される。\\ データ·バイトのストリームのみをたどることができる。\\ このストリームはのみSTOP条件で終了させることができる。| +|  0  |Last control byte to be sent.\\ Only a stream of data bytes is allowed to follow.\\ This stream may only be terminated by a STOP condition.\\ <color blue>最後の制御バイトが送信される。\\ データ·バイトのストリームのみをたどることができる。\\ このストリームはのみSTOP条件で終了させることができる。</color>
-|  1  |Another control byte will follow the data byte unless a STOP condition is received.\\ STOP条件を受信しない限り、別の制御バイトはデータバイトに従います。| +|  1  |Another control byte will follow the data byte unless a STOP condition is received.\\ <color blue>STOP条件を受信しない限り、別の制御バイトはデータバイトに従います。</color>|
 ===== StartとStop ===== ===== StartとStop =====
 データ列の最初にStart状態があって、最後にStop状態があるということらしい。そのStartとStopを作り出すための手順がある。 データ列の最初にStart状態があって、最後にStop状態があるということらしい。そのStartとStopを作り出すための手順がある。
  
-{{:softdev:msp430:i2c_start-stop.png?200|}}\\+{{:softdev:msp430:i2c_start-stop.png?400|}}\\
 ユーザマニュアルから、 ユーザマニュアルから、
   * START 条件とは、SCL が High のときの SDA の High から Low への遷移です。   * START 条件とは、SCL が High のときの SDA の High から Low への遷移です。
行 54: 行 57:
 } }
 </code> </code>
 +
 +===== データを送る =====
 +データを送る場合は、最初のほうで説明があるように、RS=1になる。それで、連続してデータを送ることになるから、Co=0となる。
 +  - Start状態
 +  - Slaveアドレス送信
 +  - Co=1,RS=0でコマンドSet指定(80h)
 +  - Set DDRAM Addressコマンド(80h+Addr)
 +  - Co=0,RS=1でデータSet指定(40h)
 +  - データ、データ、、、、、
 +  - Stop状態
 +
 +途中で、DDRAMアドレスを変えるときは、Start状態からはじめる。。。。。う~ん、めんどい。
 +
 +
softdev/msp430/lcd2.1381500889.txt.gz · 最終更新: 2013/10/11 23:14 by king