新しいPIC本の第7章、381ページのように配線して、382ページのプロジェクト名「NCO」を作り、384ページのプログラムを打ち込む。まずはハードウェア、これ。
ピン配置は例題には書いてないけどこうやった。
あれ?でも、GPIOを入れたほうがいいのか?ならばこれ。
そうやってからコンパイルしてみると、エラーで落ちる。これ。
atolとD2_Toggle()が悪いのか?なんで??(^^♪
と、よくみると、1つ;じゃなくて:になってるじゃんw 直す。
直しても、やはりダメなのは変わらず。詰んだので休憩(^^)/
ダメならば、強引にコメントアウト!まるでがんを取り除く手術だな???(^^♪ これ。
強引にコンパイルを通して書き込んだ結果、TeraTermにも Freq = までは出た。しかしその先はないので、単に強引にコメントアウトしただけ・・・非常に不愉快www(^^♪
さらに検討してみると、こういうのを発見。
stdlib.hじゃなくてstdio.hをincludeしていた・・・なので、このように修正してみると・・・
このようにatolは通ったが、D2_Toggle();はコメントアウトしないと通らない。TeraTermの様子も変化は無し。
しかし・・・D2_Toggleなんて本来の動作には関係ないし・・・さらに数値キーを押してみるとTeraTerm上ではこういうふうに反応する。
ということは・・・もしかするとRC0を見れば波形が見れるかも??と思って見てみると・・・何も出ず。ならばさらに、そもそもクリスタル・オシレータは?と思って見てみると・・・
電源の5Vはかかっているものの、出力はゼロ。何も出ていない。OEをGNDやVDDに吊ってみても、GNDではフローティングになるもののVDDにしても変わらず。うーん。そもそも発振器が動いてないのか???謎は深まるばかり。(^^♪
※追記、2024.4.28 一応もう一回やってみた。とは言ってもクリスタル・オシレータだけ。これ。
マイコン基板は電源5Vの供給だけ。オシロスコープで見てみると、やはり何も出ていない。念のためDC5Vを見てみるとちゃんと出ている。もしかするとクリスタル・オシレータが死んでるのか?
クリスタル・オシレータの余分在庫が1個あったので、それに付け替えてみても・・・症状は同じ。ということは不良の可能性は低い。オシロスコープの操作が間違ってるのか?中国製オシロだからまだ慣れてない。ここには昔からのなじみの日本製のオシロは無い。または、クリスタル・オシレータの使い方が間違ってるのか?これも、初めて使ったから確証はゼロ。やはりブランクが長いと、こういう変なところで詰む((+_+))
※追記、2024.5.1 今回は、場所を変えてやってみた。これ。
マイコン基板は5V供給だけ。クリスタルオシレータ(8MHz)SG-8002DC(5V)を、データシートのとおりの配線して、オシロスコープ(2台)で見てみるという行事。
DSO-TC3のほうのオシロは、場所が変わっても全く同じ結果。なので、どの部品も壊れていないだろう。で、はじめて使う、OWON HDS2102Sにはこの波形が・・・なんだこれ?
ちゃんとカップリングをDCにして、2.00Vとなってるから、リンギング酷いのは置いておいて、とりあえず0Vから5Vまでフルスイングで出てそう。M:50nsというのはひと目盛りこれだけ・・・のはずだから、波形の周期は120nS。逆数を取ると、ちゃんとほぼ8MHz。おお、生きてるじゃん!
ということは・・・DSO-TC3の使い方が間違ってるのか??
と思ったので、ストックしてあったちゃんとしたオシロ用プローブに付け替えてみても・・・変わらず。そして、DSO-TC3さんの日本語マニュアル(紙で付属している)を真面目に読んでみると・・・
アナログ帯域幅 500kHz …….. (^^)/ はい、ごちそうさまでした。ちゃんとマニュアルを読んでから測定器は使わないといけませんねw(^^♪
結局、皆様誰も悪くなくて、マニュアルを読まないで悩んでいた自分だけがサイテーだったwという、実にすがすがしい結末に。こういう「恥」をちゃんとブログに書いておくのはいいことですよ。自分用の記録がメインのブログなのでwww(^^♪
※追記、2024.5.9 ようやく、DM164136とHDS2102Sの両方が共存できる環境になったので、またやってみた。こういうふうに配線。後で少し修正。
TeraTermもこういうふうに動くことを確認。ピン配置はこんなふう。
その結果、まずはクリスタル・オシレータの出力は、ちゃんと8MHzが出ている。しかし、CLC1を通った分周出力は何も出ていない。なので当然、NCO1の出力も何も出ない。こんなふう。
結局、謎は解消されず、未だに動かないという不本意な結末・・・
コメント