私はI2Cですら動かせないのか・・・と思ったが、まあいつものことだ。
とにかく、まだ動いていない。
今はSOT1_2 / SCK1_2を使っているが、ポートを変えたら動いたりせんだろうか、とSOT6_1 / SCK6_1にしてみたが、状況は変わらず。
EPFR07でリロケートもしてる。
ロジアナ自体が悪さを?と思って外してみたが、そんなわけでもなさそうだ。
皆目見当が付かん。
思いつくことを、つらつら書いていたら、何か浮かぶかもしれない。
EIBCRレジスタがあれば、手動でSDA/SCLをぱたぱたさせられそうなのだが、FM3基板のFM3はTYPE2なのでレジスタがない。
富士通のサンプルでは、「ch0はマイクロコントローラの仕様で使用できない」と書かれている。
I2Cだけみたいだけど、そんなのどこにも書いてないなぁ。
MFSのブロック図がないので、何が関わっているのかがよくわからない。
仕方ないので、FR60のドキュメントを見てみた。
同じ富士通のだから、似てるんじゃなかろうか。
IDARというレジスタが、TDRレジスタに相当するみたいだ。
FR60はダブルバッファになってるらしく、BusBusyのときはシリアル転送用のレジスタに、そうでないときは内部転送レジスタにロードされる、とある(ブロック図では読み取れん)。
シフトレジスタがあるだろうから、そこの図が見たかったのだが・・・ないのか。
なんとなくだけど、クロックさえ生成すればデータが出ていきそうな感じだ。
ってことは、クロック生成できていないか、供給されていないということ?
マルチファンクションシリアルは、APB2バスに載っている。
APB2バスクロックは、PCLK2らしい。
そういえば、TOPPERS/ASPの環境はどういうクロックになってるんだろうか?
target_initialize()を見ると、
- ベースクロック : 1分周
- APB0 : 1分周
- APB1 : 2分周
- APB2 : 2分周
のようだ。
PCLK2の出力許可もしているので、クロック供給されていないということはない。
まあ、されてなければRC-S620/Sの制御すらできなかったはずだよな。
ペリフェラルマニュアルの「I/Oポート」も大切そうだ。
表2-2に、GPIOとして使うか周辺機器として使うかと、影響するレジスタが記載されている。
I2Cだから、オープンドレインで入出力。
影響するのは、PFRとPZRらしいから、やはりPZRは設定しておこう。
ADEとかは何もしてないから0だろうと思っているが・・・どうだろう。
心配だから見ておこう。
- ADE : AN31~AN00だから関係なさそう。でも、0にしておくか。
- SPSR : デフォルトでUSBは0だし、外部クロックのピンはそのままがいいだろう。
- DAE : デフォルトで0だから、いいだろう。
- VEx : LCDCC3レジスタでいいのかな? PICTLを1にして、残りを0にすればいいのか。
- COMx : LCDC_COMENレジスタでいいのかな? デフォルトでGPIOだからいいだろう。
- SEGx : LCDC_SEGENxレジスタでいいのかな? デフォルトでGPIOだからいいだろう。
あー、めんどくさい。。
そして変化無し。。。。。
そうだよなぁ、そんなので動かないなら、スタートコンディションすら生成されないよなぁ。
仕方ないから、オリジナルでFRAMアクセスして波形を取ってみるか。
でも、ポートをつかむような道具を持ってないので、ちょっと一苦労だ。
まあ、波形は取らなくても、動くことが確認できればいいか。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。