softdev:msp430:lcd2
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
softdev:msp430:lcd2 [2013/10/11 23:03] – [StartとStop] king | softdev:msp430:lcd2 [2014/04/18 00:33] (現在) – [I<sup>2</sup>C仕様書] king | ||
---|---|---|---|
行 1: | 行 1: | ||
====== MSP430でI2C液晶をいじる ====== | ====== MSP430でI2C液晶をいじる ====== | ||
- | デジタルノギスの表示部を取り出そうと思い、小さい液晶を探した所、秋月さんにI2Cタイプの小型の物があり、それを使う事にしました。ところで、I2Cでどうやって使うのって所から始めました。う〜ん実は判っていたようでいざ使おうとすると、う〜んよくわからん。設定に有るいくつかの事が実際わからなかった。 | + | [[..: |
+ | |||
+ | |||
+ | ===== I2C仕様書 ===== | ||
+ | http:// | ||
===== I2Cを動かす ===== | ===== I2Cを動かす ===== | ||
行 10: | 行 14: | ||
</ | </ | ||
- | 特に最後の「データを複数送る場合Co=1で、最終データはCo=0です。」の部分。言っている事は判るのだが、データって0~FFまで有るわけだから、連続で送ったらコントロールかデータかなんて判らんやんか。 | + | 特に最後の「データを複数送る場合Co=1で、最終データはCo=0です。」の部分。言っている事は判るのだが、データって0~FFまで有るわけだから、連続で送ったらコントロールかデータかなんて判らんやんか。これはつまり、< |
* 一つのバスに複数デバイスをぶら下げる事が出来るのと、MasterになったりSlaveになったりするので、SDA, | * 一つのバスに複数デバイスをぶら下げる事が出来るのと、MasterになったりSlaveになったりするので、SDA, | ||
行 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.\\ |
- | | 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.\\ |
===== StartとStop ===== | ===== StartとStop ===== | ||
- | データ列の最初にStart状態があって、最後にStop状態があるということらしい。そのStartとStopを作り出すための手順がある。ユーザマニュアルから、 | + | データ列の最初にStart状態があって、最後にStop状態があるということらしい。そのStartとStopを作り出すための手順がある。 |
+ | |||
+ | {{: | ||
+ | ユーザマニュアルから、 | ||
* START 条件とは、SCL が High のときの SDA の High から Low への遷移です。 | * START 条件とは、SCL が High のときの SDA の High から Low への遷移です。 | ||
* START 条件は、シフト・レジスタの MSB を 0(ゼロ)にセットすることにより生成されます。 | * START 条件は、シフト・レジスタの MSB を 0(ゼロ)にセットすることにより生成されます。 | ||
行 51: | 行 57: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== データを送る ===== | ||
+ | データを送る場合は、最初のほうで説明があるように、RS=1になる。それで、連続してデータを送ることになるから、Co=0となる。 | ||
+ | - Start状態 | ||
+ | - Slaveアドレス送信 | ||
+ | - Co=1, | ||
+ | - Set DDRAM Addressコマンド(80h+Addr) | ||
+ | - Co=0, | ||
+ | - データ、データ、、、、、 | ||
+ | - Stop状態 | ||
+ | |||
+ | 途中で、DDRAMアドレスを変えるときは、Start状態からはじめる。。。。。う~ん、めんどい。 | ||
+ | |||
+ |
softdev/msp430/lcd2.txt · 最終更新: 2014/04/18 00:33 by king