我究竟做错了什么?我的照片不会互相沟通

时间:2012-12-01 23:05:37

标签: serial-port pic serial-communication

我有两张照片: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

如果第二张图片没有收到任何内容,则应该再次开始等待。

出于某种原因,第一张照片可以找到,因为它闪烁,我们可以使用示波器从串口看到噪音。然而,第二张照片从未开启过。

任何人都可以看到我可能做错了吗?

1 个答案:

答案 0 :(得分:1)

您的LED定义错误,因此即使芯片确实接收到它也不会发光。你确定它应该像其他设备那样是PORTA.0而不是PORTB.0吗?