Hallo forum und WALTER99 & PESI hab es jetzt eingefügt frage mich nur warum in deine antwort PESI das hier drin stehen hast....
Code
if d = 0 then
Portx.y = 0 ' LCD aus, nicht weiter zählen
else
waitms1 ' kurz warten
dec d ' d runter zählen
end if
warum "dec d" da sagt bascom Fehler... mache ich das auf "d=d +0" dann sagt er nichts.
wo ist da denn nu der fehler drin?!?
Hier noch mal der CODE mit den zeilen die ich von PESI eingefügt hab.
Code
'-----------------------------------------------
'Schaltung Für
'Klingel Privat & KatzenPension
'Eingänge: 4 x Eingänge CNY17-1 Optokopler
'Ausgänge: 4 x Ausgänge Realis (8-230V/10A)
'
'DIES IST EIN TEST TOOL DER AUSGÄNGE/EINGÄNGE "ATtiny2313"
'DER ORGINALL IC = "ATMEGA8"
'
'-----------------------------------------------
$regfile "2313def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
Ddrb = &B11110000 ' Ports auf Ausgang setzen
Ddrd = &B00011111
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , _
Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5
Config Lcd = 16 * 2
Initlcd
Cursor On
Cls
Locate 1 , 1
Lcd "klingelmelder"
Locate 2 , 1
Lcd "KATZENPENSION"
Config Pinb.0 = Input 'IN1
Portb.0 = 0
Config Pinb.1 = Input 'IN2
Portb.1 = 0
Config Pinb.2 = Input 'IN3
Portb.2 = 0
Config Pinb.3 = Input 'IN4
Portb.3 = 0
Config Portb.4 = Output 'REALIS 1
Config Portb.5 = Output 'REALIS 2
Config Portb.6 = Output 'REALIS 3
Config Portb.7 = Output 'REALIS 4
Config Portd.6 = Output ' Hintergrund
Declare Sub Ein1
Declare Sub Ein2
Declare Sub Ein3
Declare Sub Ein4
Dim D As Word
Do
If D = 0 Then
Portd.6 = 0
Waitms 1
D = D + 1
End If
If Pinb.0 = 1 Then Gosub Ein1
If Pinb.1 = 1 Then Gosub Ein2
If Pinb.2 = 1 Then Gosub Ein3
If Pinb.3 = 1 Then Gosub Ein4
Loop
Sub Ein1
Cls
Locate 1 , 1
Lcd "Klingel"
Locate 2 , 1
Lcd "EIN1"
Portd.6 = 1
D = 100
Waitms 10
Portb = &B00010000
Waitms 500
Portb = &B00000000
Waitms 400
Cls
Locate 1 , 1
Lcd "klingel"
Locate 2 , 1
Lcd "RUHE"
End Sub Ein1
Sub Ein2
Cls
Locate 1 , 1
Lcd "Klingel"
Locate 2 , 1
Lcd "EIN2"
Waitms 10
Portb = &B00100000
Waitms 400
Portb = &B00000000
Waitms 400
Cls
Locate 1 , 1
Lcd "klingel"
Locate 2 , 1
Lcd "Ruhe"
End Sub Ein2
Sub Ein3
Cls
Locate 1 , 1
Lcd "Klingel"
Locate 2 , 1
Lcd "EIN3"
Waitms 10
Portb = &B01000000
Waitms 400
Portb = &B00000000
Waitms 400
Locate 1 , 1
Lcd "klingel"
Locate 2 , 1
Lcd "Ruhe"
End Sub Ein3
Return
Sub Ein4
Cls
Locate 1 , 1
Lcd "Klingel"
Locate 2 , 1
Lcd "EIN4"
Waitms 10
Portb = &B10000000
Waitms 400
Portb = &B00000000
Waitms 400
Locate 1 , 1
Lcd "klingel"
Locate 2 , 1
Lcd "Ruhe"
End Sub Ein4
End
Return]
Alles anzeigen
ach ja wie mache ich das beim anschalten der anlage das die ausgänge getestet werden in der sub oder do loop schleife....????
Mit freundlichen grüßen
Thorsten Schröder