Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


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: Problem: Frequenzmessung Kategorie: Hardware (von Remanju - 30.07.2006 16:56)
 Als Antwort auf Re: Problem: Frequenzmessung von Achim - 30.07.2006 3:40
Remanju nutzt:  CC1-M-Unit V1.2/2.0
ok,

hier die relevanten codeteile:

'------------------------------------------------------------------------

define S0_Bluete    as   port[1]
define S1_Bluete    as   port[2]
define S2_Bluete    as   port[3]
define S3_Bluete    as   port[4]

define S0_Vegi    as   port[5]
define S1_Vegi    as   port[6]
define S2_Vegi    as   port[7]
define S3_Vegi    as   port[8]

define lux_Bluete             as word [5]
define lux_Bluete_Nachkomma   as word [6]

define lux_Vegi               as word [7]
define lux_Vegi_Nachkomma     as word [8]




S0_Bluete = ON
                S1_Bluete = OFF
                S2_Bluete = ON
                S3_Bluete = ON
               
                S0_Vegi = ON
                S1_Vegi = OFF
                S2_Vegi = ON
                S3_Vegi = ON
PAUSE 50
'--------------------------------------------------------------------------------------


LOOP

[...]

'------lux_Bluete einlesen------------------------------------------------------

IF (sekunde_DATENERFASSUNG MOD 2 = 0) AND (BIT_lux_Bluete = OFF) THEN

    SELECT CASE aufloesung_Bluete

        CASE OFF
                S0_Bluete = ON
                S1_Bluete = OFF
                S2_Bluete = ON
                S3_Bluete = ON

                lux_Bluete = (FREQ * 2 ) + (FREQ / 2 ) + (FREQ / 100 ) * 3
                lux_Bluete_Nachkomma = 0    
   
                IF FREQ <= 2 THEN
                    aufloesung_Bluete = ON
                   
                S0_Bluete = ON
                S1_Bluete = ON
                S2_Bluete = OFF
                S3_Bluete = OFF  
                END IF
           
        CASE ON
                lux_Bluete = FREQ / 3952
                lux_Bluete_Nachkomma = ((FREQ MOD 3952) / 4 )    
   

                IF ( FREQ > 20000 ) OR ( FREQ < 0 ) THEN
                    aufloesung_Bluete = OFF
                   
                    S0_Bluete = ON
                    S1_Bluete = OFF
                    S2_Bluete = ON
                    S3_Bluete = ON
                END IF

    END SELECT

BIT_lux_Bluete = ON

END IF

'------lux_Vegi einlesen------------------------------------------------------

IF (sekunde_DATENERFASSUNG MOD 3 = 0) AND (BIT_lux_Vegi = OFF) THEN

    SELECT CASE aufloesung_Vegi

        CASE OFF
               
                S0_Vegi = ON
                S1_Vegi = OFF
                S2_Vegi = ON
                S3_Vegi = ON

                lux_Vegi = (FREQ2 * 2 ) + (FREQ2 / 2 ) + (FREQ2 / 100 ) * 3
                lux_Vegi_Nachkomma = 0    
   
                IF FREQ2 <= 2 THEN
                    aufloesung_Vegi = ON
               
                S0_Vegi = ON
                S1_Vegi = ON
                S2_Vegi = OFF
                S3_Vegi = OFF  
                END IF
           
        CASE ON
                lux_Vegi = FREQ2 / 3952
                lux_Vegi_Nachkomma = ((FREQ2 MOD 3952) / 4 )    
   

                IF ( FREQ2 > 20000 ) OR ( FREQ2 < 0 ) THEN
                    aufloesung_Vegi = OFF
               
                    S0_Vegi = ON
                    S1_Vegi = OFF
                    S2_Vegi = ON
                    S3_Vegi = ON
                END IF

    END SELECT

BIT_lux_Vegi = ON

END IF

[...]

GOTO LOOP

 Antwort schreiben

Bisherige Antworten:

Re: Problem: Frequenzmessung (von Achim - 30.07.2006 19:42)
    Re: Problem: Frequenzmessung (von Remanju - 31.07.2006 20:13)