我有两张照片:pic16f88和pic16f688。 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
我的第二张照片,即f688,应该等待消息,并且如果收到任何信息,则转过来。
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
如果第二张图片没有收到任何内容,则应该再次开始等待。
出于某种原因,第一张照片可以找到,因为它闪烁,我们可以使用示波器从串口看到噪音。然而,第二张照片从未开启过。
任何人都可以看到我可能做错了吗?
答案 0 :(得分:1)
您的LED定义错误,因此即使芯片确实接收到它也不会发光。你确定它应该像其他设备那样是PORTA.0而不是PORTB.0吗?