TSC2007とは、抵抗膜式のタッチパネルコントローラーのことである。
i2c通信を利用して動作をさせている。
アルディーノ同士でi2c通信をさせることに成功したので、今度はアルディーノ以外と通信させてみるのを試みる。
コードをどうしたらいいのかわからない。
wireライブラリが使用できるのかもよくわからない。
readとwriteコマンドしかないのにどうやって、X軸Y軸をそれぞれ受け取っているのかわからない。
ALPHA PROJECTという会社にキットが3600くらいで発売されているのが見つかった。その中にサンプルプログラムが含まれているようである。
ただ、その中身を参考にして、私がコードを書き上げるのはどうにも難しい気がする。
その中で、やっと新たに先に進めそうなものを見つけた。
I2C Scannerを使用したコードである。
これを使用することにより、つながっているi2cデバイスのアドレスを取得することが可能である。
アドレスと同時に、wire関数を使用できるかどうか検証が可能である。
とりあえずこれを行ってみる。
とりあえず回路組みから行っていく。
次のステップとしてCPUをSHに変更がしていきたいので、wireライブラリを使用せずにコードが書けるかどうかも検証を行っていきたい。
21/1/27 追記
I2C Scannerを書き込んで使用を行った。データーシート通りの反応があった。
また、sh4はリードとライトを別々に行っているだろうということも判明した。
アドレスは判明した。しかし実際にどういうコードを書いて動作させるかまでは至っていない。
i2crコードであったり、wire.hのリードライト関数であったり、コンパイラごとに使用できる関数が異なるのはわかるが、実際にどうなっているのか判明させるのは困難である。
i2crコードというのは ichigojamというマイコンで使用が可能な関数であるようだが、どうやら1文でリードライトを行っているような雰囲気が出ている。具体的に言うならば、読み出すメモリを指定してそのメモリの中身を読みだしているようである。
sh4の場合はどうなのかアルディーノの場合はどうなのかコードを確認して読んでみたが、どうやら両方とも別々に行っているようである。
また、読み出しを行っているが、その読み出した情報の取得はいつ行っているのだろうか。タッチパネルの複雑なところは、いつでも座標が読み取れるわけではなく、タッチされた瞬間にのみ、座標の取得が行われることである。
コマンドが書き込まれた瞬間に読み込んでいるのかそれともコマンドが書き込まれる前に読み込まれているのかだけでも判明させたい。