Wert übergabe in Hauptprogramm

Gast #3555768
Lesenswert?

Hallo
ich habe ein Unterprogramm geschrieben, in dem ich ein Poti einlese und 
den Wert einer Variable zuweise. Nun möchte ich diesen Wert im 
Hauptprogramm weiter verwenden.
Ich weiß das es mit einer globalen Variable geht, doch leider scheitert 
es an der Umsetztung.
Ich hoffe jemand kann mir helfen den Fehler zu beheben.

mfg


#include <33FJ256MC710A.h>
#device ADC=10
#include <stdio.h>
#include <stdlib.h>

#fuses XT,PR_PLL, NOWDT
#use delay (crystal=8M,clock=80M)

void Normierung(signed long p)
{
    set_tris_b(0x100);

    setup_adc_ports(sAN8);
    setup_adc(ADC_CLOCK_INTERNAL);
    set_adc_channel(8);

     p=read_adc();
     p=p-511;
     p=p*8;
}


void main ()
{
    Normierung(p);

    while(1)
    {
        if(p>4000)
        {
         output_high(PIN_E1);
        }
    }
}
Gast #3555775
Lesenswert?

Wie wäre es mit einer Funktion der Form
1
signed long Normierung(void)
2
{
3
    signed long p;
4
    set_tris_b(0x100);
5

6
    setup_adc_ports(sAN8);
7
    setup_adc(ADC_CLOCK_INTERNAL);
8
    set_adc_channel(8);
9

10
     p=read_adc();
11
     p=p-511;
12
     p=p*8;
13
     return p
14
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren