• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC 簡単なプログラミングで行き詰まりました)

PIC初心者の質問:プログラムでエラーが出る

このQ&Aのポイント
  • PIC初心者が作成したプログラムでエラーが出ています。エラーの原因や解決方法を教えてください。
  • 質問者はPIC16F84Aを使用して、ポートAの入力に応じてポートBのLEDが点灯するプログラムを作成しました。しかし、MPLAB IDE v8.63でデバッグするとエラーが発生します。
  • エラーメッセージは「Symbol not previously defined (CLOSE)」や「Symbol not previously defined (TIMER3)」です。どこが間違っているのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

PICのことはほとんどわからないのですが・・・ 確かにエラーなしでうまくいきそうなソースに見えます。 もしかして、飛び先のラベルの前にスペースが入っていたり、半角スペースの代わりに全角スペースを使ってしまっていたりしないでしょうか http://mycomputer.cqpub.co.jp/pic004/2009/05/picmplab-ide-42.html http://www006.upp.so-net.ne.jp/picbegin/proj1/p1step70.html

seve
質問者

お礼

遅くなりましてすみませんでした。 私もそのことは気をつけて再度入力し直したのですが 結果は同じでした。 もっと簡単な数行だけのプログラムでも何故か 「goto 文」で引っかかってしまいます。 参考URLありがとうございます。 また質問させていただきますので、その節はよろしくお願いします。

seve
質問者

補足

遅くなりましたが原因がわかりました。 教えていただいたURLの中でテキストエディタの紹介が ありました。 TERA PADというソフトで読み直しましたら 余計なスペースが見つかりました。 ありがとうございました。

その他の回答 (1)

noname#163972
noname#163972
回答No.1

全然詳しくないですが、見たところ 該当エラーが出るラベルの書き方が、エラーが出てない箇所と比べる 「ラベル名の後が改行されてない」 点が気になります。 「ラベルの後ろは改行すること」のような文法上の規則がありませんか? というか、「理由は後からついてくる」ので、理屈抜きにやってみるのが早道で現実的です。 debug all との関連はわかりませんが、ラベル判定方法が違ってくるのかも知れません。 TIMER1 以下サブルーチンのラベルは全て同様ですが、まだそこまで届いてないから ひっかからないだけで、上のエラーを修正すれば次はひっかかってくるでしょう。 あと本質問には関係ないですが、サブルーチン LOOP1 内3行目が LOOP1 とだけですが GOTO か何か抜けてませんか。

seve
質問者

お礼

umamimiさま。 当方の愚問にコメント有難うございます。 「ラベルの後ろは改行」という法則はないようです。 色々とやってみましたが、どうしても改善されません。 何か基本的な所で引っかかってるような気がします。 >あと本質問には関係ないですが、サブルーチン LOOP1 内3行目が  LOOP1  とだけですが GOTO か何か抜けてませんか  全くその通りでした(汗、、、)  有難うございました。