pic16f88とpic16f688の2枚の写真があります。f88は、ボタンが押されるたびにメッセージを送信するループを実行しています。また、ボタンが押されたときではなく、毎秒送信するタイミングループでこれを試しました。
DEFINE osc 8
osccon.4 = 1:osccon.5 = 1:osccon.6=1
ANSEL = 0
pinout var PORTB.1
LED VAR PORTB.0 ' Assign name "LED" to PORTB.0
btn var PORTA.0
TRISA.0 = 1
myloop:
if (not(btn)) then
High LED ' Turn on LED connected to PORTB.0
Serout2 pinout,396,["PBPSUX"]
endif
Low LED ' Turn off LED connected to PORTB.0
Goto myloop
End
そして、私の2番目の写真であるf688は、メッセージを待っており、何かを受信した場合はLEDをオンにすることになっています。
DEFINE osc 8
osccon.4 = 1:osccon.5 = 1:osccon.6=1
ANSEL = 0
pinin var PORTA.1
LED VAR PORTA.0 ' Assign name "LED" to PORTB.0
test var byte[5]
low LED
myloop:
Pause 500 ' Delay for .5 seconds to allow the other pic to start sending.
low LED
Serin2 pinin,396,[wait("P"),str test\5]
if (test) then
goto lighton
endif
pause 500
high LED
Goto myloop
lighton:
high LED
goto lighton
End
2番目の写真が何も受け取らない場合は、再び待機を開始することになっています。
どういうわけか、最初の写真は点滅していて、シリアルのオシロスコープを使用してノイズを確認できるため、最初の写真が見つかります。ただし、2番目の写真が点灯することはありません。
誰かが私が間違っているかもしれないことを見ることができますか?