
PIC初心者です。よろしくお願いします。
PIC16F84Aを使って
「ポートA 0bIt 」 に入力があったとき(1になったとき)
ラベルの「OPEN」に飛びポートBのLEDが一秒点灯。
「ポートA 1bit 」に入力があったとき
ラベルの「CLOSE」に飛びポートBのLEDが一秒点灯。
これだけのプログラムなのですが
MPLAB IDE v8.63で
Debug all すると
;の記述のところで表記のエラーが出ます。
プログラムはこちらです。
list P=pic16f84a
include "p16f84a.inc"
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
CNT1 EQU 0CH
CNT2 EQU 0DH
CNT3 EQU 0EH
ORG 0
GOTO MAIN
MAIN
BSF STATUS,RP0
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0
CLRF PORTB
CLRW
LOOP
BTFSC PORTA,0
GOTO OPEN
BTFSC PORTA,1
GOTO CLOSE ;ここで「Symbol not previously defined (CLOSE)」 のエラー
GOTO LOOP
OPEN
MOVLW 010H
MOVWF PORTB
CALL TIMER3 ;ここでSymbol not previously defined (TIMER3)エラー
CLRF PORTB
END
CLOSE MOVLW 020H
MOVWF PORTB
CALL TIMER3
CLRF PORTB
END
TIMER1 MOVLW D'62'
MOVWF CNT1
LOOP1 NOP
DECFSZ CNT1,1
LOOP1
RETURN
TIMER2 MOVLW D'100'
MOVWF CNT2
LOOP2 NOP
CALL TIMER1
DECFSZ CNT2,1
goto LOOP2
RETURN
TIMER3 MOVLW D'100'
MOVWF CNT3
LOOP3 NOP
CALL TIMER2
DECFSZ CNT3,1
goto LOOP3
RETURN
END
何日も堂々巡りをしてまして埒があかないので質問させていただきました。
どこが間違えているのでしょうか????
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
PICのことはほとんどわからないのですが・・・
確かにエラーなしでうまくいきそうなソースに見えます。
もしかして、飛び先のラベルの前にスペースが入っていたり、半角スペースの代わりに全角スペースを使ってしまっていたりしないでしょうか
http://mycomputer.cqpub.co.jp/pic004/2009/05/pic …
http://www006.upp.so-net.ne.jp/picbegin/proj1/p1 …
この回答への補足
遅くなりましたが原因がわかりました。
教えていただいたURLの中でテキストエディタの紹介が
ありました。
TERA PADというソフトで読み直しましたら
余計なスペースが見つかりました。
ありがとうございました。
遅くなりましてすみませんでした。
私もそのことは気をつけて再度入力し直したのですが
結果は同じでした。
もっと簡単な数行だけのプログラムでも何故か
「goto 文」で引っかかってしまいます。
参考URLありがとうございます。
また質問させていただきますので、その節はよろしくお願いします。

No.1
- 回答日時:
全然詳しくないですが、見たところ
該当エラーが出るラベルの書き方が、エラーが出てない箇所と比べる
「ラベル名の後が改行されてない」
点が気になります。
「ラベルの後ろは改行すること」のような文法上の規則がありませんか?
というか、「理由は後からついてくる」ので、理屈抜きにやってみるのが早道で現実的です。
debug all との関連はわかりませんが、ラベル判定方法が違ってくるのかも知れません。
TIMER1 以下サブルーチンのラベルは全て同様ですが、まだそこまで届いてないから
ひっかからないだけで、上のエラーを修正すれば次はひっかかってくるでしょう。
あと本質問には関係ないですが、サブルーチン LOOP1 内3行目が
LOOP1
とだけですが GOTO か何か抜けてませんか。
umamimiさま。
当方の愚問にコメント有難うございます。
「ラベルの後ろは改行」という法則はないようです。
色々とやってみましたが、どうしても改善されません。
何か基本的な所で引っかかってるような気がします。
>あと本質問には関係ないですが、サブルーチン LOOP1 内3行目が
LOOP1
とだけですが GOTO か何か抜けてませんか
全くその通りでした(汗、、、)
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- その他(プログラミング・Web制作) Arduino UNO のC言語 2 2023/04/18 19:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル2000マクロインデ...
-
教えてgooサーバーエラー
-
avast!の”未知のエラー”について
-
CPU 交換について
-
IEでランタイムエラーというの...
-
Skype で検索時にエラーコメン...
-
エクセル計算式
-
エクセルVBA 関数エラー箇所を...
-
LiveUpdate エラー 何をしたら...
-
CPUファン
-
シンボリックリンクについて
-
ウィルスバスター2006 クリッ...
-
PIC 簡単なプログラミングで行...
-
IEでランタイムエラーというの...
-
ホスト 'JJ' が見つかりません。
-
930scに合う変換君の形式について
-
outlookメールのDNSサーバーエラー
-
数日前からPCの日付、時間が...
-
WEB
-
「内部サーバーエラー サーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
循環参照にならない方法があっ...
-
MACアドレス 00:E0:C3 SAKAI って
-
マクロでのエラーについて
-
ドメインに参加しようとするとD...
-
.NETでActiveXコントロールを使う
-
エクセルVBA 関数エラー箇所を...
-
エクセル #N/Aを印刷時に表示...
-
アウトルックで送信時に「名前...
-
MacでKCFErrorDomainCFNetwork ...
-
検索をかけた時、ページを開け...
-
CDRの焼きミスが多発します。助...
-
VBAで入力規則 エラーでも入れ...
-
応答を解析できません
-
「プラグインエラー」について...
-
Tomcat のエラーログ
-
ワイヤーボンディングのスパー...
-
クライアントが切断されました。
-
WSUSインストール時に設定ウィ...
-
android studioエラー
おすすめ情報