آقای مدیر سایت اولا ممنون
کامپایلر من بیس کامه. چطوره؟
فرض کنید برنامه میکرو کدهای زیر باشد. می بینید که متغیر های وقفه در طول برنامه تغییر نمي کنن.
ولی همچنان مشکلی که قبلا گفتم ، پابرجاست.
ممنون
$regfile = "m32def.dat"
$crystal = 8000000
Baud = 4800
Config Serialout = Buffered , Size = 1
Enable Interrupts
Enable Urxc
On Urxc Seria
do
Call Getime()
While
Sub Getime()
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' start address in 1307
I2cstart ' Generate start code
I2cwbyte Ds1307r ' send address
I2crbyte T(1) , Ack
I2crbyte T(2) , Ack ' MINUTES
I2crbyte T(3) , Ack ' Hours
I2crbyte T(4) , Ack ' Day of Week
I2crbyte T(5) , Ack ' Day of Month
I2crbyte T(6) , Ack ' Month of Year
I2crbyte T(7) , Ack ' Year
I2crbyte T(8) , Nack
I2cstop
T(1) = Makedec(t(1)) : T(2) = Makedec(t(2)) : T(3) = Makedec(t(3))
T(4) = Makedec(t(4)) : T(5) = Makedec(t(5)) : T(6) = Makedec(t(6))
T(7) = Makedec(t(7)) : T(8) = Makedec(t(8))
End Sub
'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Seria:
If Bar = 0 Then
Gd1 = Udr
Bar = 1
Else
Gd2 = Udr
Bar = 0
'-------------------------------------------------------------------------------
If Gd1 = Gd2 Then
Select Case Gd1
Case Chr(38) : Print Chr(40)
Case Chr(37):
Adrr = 20480
S = 1
Ct = 1
Case Chr(41):
S = 2
Print Chr(42)
Case Else:
'---------------------------------
If S = 2 Then
T(ct) = Gd1
Ct = Ct + 1
If Ct = 9 Then Call Setime()
Else : Call Write(adrr , Gd1)
End If
Print Chr(42)
'---------------------------------
End Select
'-------------------------------------------------------------------------------
Else :
Print Chr(43)
End If
End If
Return
'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS