Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
beim Anschluß eines zweiten Sensor-Moduls hab ich festgestellt das es nicht richtig läuft bzw. der Aktor-Controller stürzt nach kurzer Zeit ab.
Nehme ich den zusätzlichen Sensor wieder weg vom Bus funktioniert wieder alles !
Die Hardware hab ich schon sehr genau geprüft ist ok, ich glaube fast es ist ein Softwareproblem des Sensors, kann es sein das beim Anschluß des zweiten Sensors, beide nicht mehr richtig senden können ?
Vielleicht hat jemand einen Tip woran es liegen könnte !
Mfg Jürgen
Code:
'Sensor
$regfile = "attiny2313.dat"
$crystal = 3579545
$baud = 4800
Portb = &B11111111
Portd = &B1100000 'PullUp
$hwstack = 32
$swstack = 10
$framesize = 40
Config Print = Portd.2 , Mode = Set
Config Pind.2 = Output
Config Debounce = 30
Waitms 300
Do
Debounce Pinb.0 , 0 , Schalter1 , Sub
Debounce Pinb.1 , 0 , Schalter2 , Sub
Debounce Pinb.2 , 0 , Schalter3 , Sub
Debounce Pinb.3 , 0 , Schalter4 , Sub
Debounce Pinb.4 , 0 , Schalter5 , Sub
Debounce Pinb.5 , 0 , Schalter6 , Sub
Debounce Pinb.6 , 0 , Schalter7 , Sub
Debounce Pinb.7 , 0 , Schalter8 , Sub
Loop
Schalter1:
Print "!10";
Return
Schalter2:
Print "!11";
Return
Schalter3:
Print "!12";
Return
Schalter4:
Print "!13";
Return
Schalter5:
Print "!14";
Return
Schalter6:
Print "!15";
Return
Schalter7:
Print "!16";
Return
Schalter8:
Print "!17";
Return
End
Code:
'Aktor
$regfile = "attiny2313.dat"
$crystal = 3579545
$baud = 4800
Dim A As String * 5
Dim Z As String * 1
Dim B As String * 5
Dim C As Byte
Dim B0 As Integer
Dim B1 As Integer
Dim B2 As Integer
Dim B3 As Integer
Dim B4 As Integer
Dim B5 As Integer
Dim B6 As Integer
Dim B7 As Integer
$hwstack = 32
$swstack = 10
$framesize = 40
Config Serialin = Buffered , Size = 6
Config Portb = Output
Enable Interrupts
Portd.2 = 0
B0 = 6000
B1 = 6000
B2 = 32000
B3 = 32000
B6 = 2
B7 = 2
Do
C = Ischarwaiting()
If C = 1 Then
C = Inkey()
A = A + Chr(c)
End If
If Len(a) > 2 Then
B = A
Z = Mid(a , 1 , 1 )
End If
If Z = "!" Then
B = Mid(a , 1 , 5)
End If
' 6x von einander unabhängige Comfort Zeitschaltungen 2x Stromstoßschaltungen
' Achtung Zähler Integer nur bis 32700
If B = "!10" Then 'Comfort Zeitschaltung kurz Ein - Aus wie Tasterschaltung
If Portb.0 = 0 Then
Set Portb.0
B0 = 6000
Else
Reset Portb.0
End If
A = ""
End If
If B = "!11" Then 'Comfort Zeitschaltung kurz Ein - Aus wie Tasterschaltung
If Portb.1 = 0 Then
Set Portb.1
B1 = 6000
Else
Reset Portb.1
End If
A = ""
End If
If B = "!12" Then 'Comfort Zeitschaltung Lang Ein - Aus wie Tasterschaltung
If Portb.2 = 0 Then
Set Portb.2
B2 = 32000
Else
Reset Portb.2
End If
A = ""
End If
If B = "!13" Then 'Comfort Zeitschaltung Lang Ein - Aus wie Tasterschaltung
If Portb.3 = 0 Then
Set Portb.3
B3 = 32000
Else
Reset Portb.3
End If
A = ""
End If
If B = "!14" Then 'Stromstoßschaltung
If Portb.4 = 0 Then
Set Portb.4
Else
Reset Portb.4
End If
A = ""
End If
If B = "!15" Then 'Stromstoßschaltung
If Portb.5 = 0 Then
Set Portb.5
Else
Reset Portb.5
End If
A = ""
End If
If B = "!16" Then 'Comfort Zeitschaltung kurzer Impuls für externe Ansteuerung
If Portb.6 = 0 Then
Set Portb.6
B6 = 2
Else
Reset Portb.6
End If
A = ""
End If
If B = "!17" Then 'Comfort Zeitschaltung kurzer Impuls für externe Ansteuerung
If Portb.7 = 0 Then
Set Portb.7
B7 = 2
Else
Reset Portb.7
End If
A = ""
End If
If B = "!18" Then 'Funktion Zentral Ein
Set Portb.0
Set Portb.1
Set Portb.2
Set Portb.3
Set Portb.4
Set Portb.5
Set Portb.6
Set Portb.7
A = ""
End If
If B = "!19" Then 'Funktion Zentral Aus
Reset Portb.0
Reset Portb.1
Reset Portb.2
Reset Portb.3
Reset Portb.4
Reset Portb.5
Reset Portb.6
Reset Portb.7
A = ""
End If
Decr B0
If B0 = 0 Then
Reset Portb.0
B0 = 6000
End If
Decr B1
If B1 = 0 Then
Reset Portb.1
B1 = 6000
End If
Decr B2
If B2 = 0 Then
Reset Portb.2
B2 = 32000
End If
Decr B3
If B3 = 0 Then
Reset Portb.3
B3 = 32000
End If
Decr B6
If B6 = 0 Then
Reset Portb.6
B6 = 2
End If
Decr B7
If B7 = 0 Then
Reset Portb.7
B7 = 2
End If
Waitms 20 '10 bis max 20 ms
Loop
End
[/code]