Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: This peace of progr. works for +/-70% Kategorie: Programmierung Basic (von Hans - 16.06.2007 15:45)
 Als Antwort auf Re: This peace of progr. works for +/-70% von ManfredW - 14.06.2007 23:00
Hans nutzt:  CC1-M-Unit V1.2/2.0
Thank's Manfred

De sender is allso a M-unit2
This is only a sender with a freq. van 2 Hz.(8 BYTE)

The reciever
I did make a new test progr.
with your idea's
The first loop is good(all byte's not higher then 40)
but after 2 or 3 loop's then all byte's have a value 255
When I change all row's (if RXD and Var1=255 then GET Var1) in (GET Var1)
Then it work's great
What's going wrong.



#INIT
BAUD R1200

PRINT"#ON_LCD#";"#INIT#";"#CLR#";"#OFF#"; 'Initialize the LCD
PUT 0
Led1=ON
Led2=ON

#Start
 second=0
 Var1=255
 Var2=255
 Var3=255
 Var4=255
 Var5=255
 Var6=255
 Var7=255

#Ontvang
 IF SECOND>2 THEN GOTO GeenOntvangst
 TOG Led2   'rood
 IF NOT RXD THEN GOTO Verder
 GET VarX
 IF VarX=50 THEN GOTO OntvangXXX 'Start code
#Verder
GOTO Ontvang

#OntvangXXX
 TOG Led1  'groen
 if RXD and Var1=255 then GET Var1
 if RXD and Var2=255 then GET Var2
 if RXD and Var3=255 then GET Var3
 if RXD and Var4=255 then GET Var4
 if RXD and Var5=255 then GET Var5
 if RXD and Var6=255 then GET Var6
 if RXD and Var7=255 then GET Var7

pause 10

'IF Var7<>91 THEN GOTO Start  'Laatste Var is stop bit
 AanTal=AanTal+1
 IF Aantal=1000 Then Maal=Maal+1
 IF Aantal=1000 THEN Aantal=0

print"#ON_LCD#";
print"#CLR#";
print"#L101#";
PRINT "1=";Var1;" G2=";Var2;" G3=";Var3;  'Regel 1 Pos.1
print"#L201#";
PRINT "G4=";Var4;" 5=";Var5;" G6=";Var6;  'Regel 2 Pos.1
print"#L121#";                            'Regel 3 Pos.1
PRINT "Ontvangen ";Aantal;
print"#L221#";                           'Regel 4,Pos.1
PRINT "x1000 ";Maal;
print"#OFF#";

GOTO start

#GeenOntvangst
print"#ON_LCD#";
print"#CLR#";
print"#L101#";
print "* Geen ontvangst *";
print"#OFF#";

GOTO Start





> > Thanks for your answer,
> >
> > But I do not understand your sollution,
> > I think that the program get stuck (if there is no RXD sign.) with the 6 GET order
> yes, my program was only the first step to indicate the start code. I hope you continue the next steps.
> >
> > I have made something new, but is does not work eighter
> > could you explaine it once more for a good sollution
> >
> > BAUD R1200
> > #Start
> > second=0
> >
> > PRINT"#OFF#";
> >
> > #Ontvangen
> > IF SECOND>2 THEN GOTO GeenOntvangst
> > IF NOT RXD THEN GOTO Verder
> > GET Var1
> here you write always in Var1
>
> > IF Var1=50 THEN GOTO OntvangXXX    'Start code
> > #Verder
> > GOTO Ontvangen
> >
> > #OntvangXXX
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var1      
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var2
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var3
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var4
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var5
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var6
> > IF NOT RXD THEN GOTO GeenOntvangst
> > GET Var7
> > IF Var7<>91 THEN GOTO Start  'Laatste Var is stop code
>  
>
>  Hallo,
>  first steps of a solution
> now the further steps in your old program
> > >
> > > > #Start
> > > > second=0
> > > > PRINT"#OFF#";
>          Var1 = 255
>          Var2 = 255
>          Var... = 255 ' all Var until Var7
> > > >
> > > > #Ontvangen
> > > > IF SECOND>3 THEN GOTO GeenOntvangst
> > > > IF NOT RXD THEN GOTO Verder
> > >
>         IF Var1=50 THEN GOTO OntvangXXX    'Start code received? yes
>         GET Var1
> > >
> > > > #Verder
> > > > GOTO Ontvangen
> > > >
> > > > #OntvangXXX
> > >                     'Óntvangen van de 48 BITS in 6 Byte's
>         if RXD and Var2 = 255 then GET Var2
>         if RXD and Var3 = 255 then GET Var3
>         if RXD and Var4 = 255 then GET Var4
> ........
>        if RXD and Var7 = 255 then GET Var7
>  if  Var7 = 255 then goto ??? ' wait of receive Var7
>  IF Var7 <> 91 THEN GOTO Start  'Laatste Var is stop code ? no, is not stop code
> ...' yes, Var7 is stop code 91
>
>  MfG ManfredW

 Antwort schreiben

Bisherige Antworten:

Re: This peace of progr. works for +/-70% (von ManfredW - 16.06.2007 19:56)
    Re: This peace of progr. works for +/-70% (von Hans - 17.06.2007 16:53)