Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

Mr. Teflon schrieb am 11.August.2009, 11:12:13 in der Kategorie pc.coding

wegen dem "ad" (C)

> > Die Frage lautet jetzt, welcher Datentyp ist ad? Also der Wertebereich
> > 0...1023 vom A/D Wandler.
>
> Irgendwo muss ad doch her kommen? Wo denn?
>
> Grüße
> Bard

Hallo,

hab mal nachgeschaut, folgende Funktion ist das, (ist nicht von mir)


...

#define uint  unsigned int             // Abkürzungen 
#define uchar unsigned char

...

// ****************************  AD-Wandler INput  In: Kanal 0...7    Out: Wert 0...1023
uint ad_in(uchar ch)
{
   
   adcon0 = 0x80 + ch;                 // Port P0 Gruppe Kanal 0 - 7 
                                       // 1000 0ccc AD control register 0
                                       // 1         CKS0 Frequency select bit 0 fAD/2
                                       //  0        ADST A/D conversion start   disabled
                                       //   0       reserved
                                       //    0      ADGSEL0 input group select  AN0...AN7
                                       //      0    MD      mode select         one-shot
                                       //       Chx Channel   
   adcon1 = 0x28;                      // 10-bit mode 
                                       // 0010 1000 AD control register 1
                                       // 00        reserved
                                       //   1       VCUT Vref connect      is connected 
                                       //    0      CKS1 Frequency select  CKS0 selected
                                       //      1    BITS                   10-bit mode
                                       //       00  reserved
   adst = 1;                           // Conversion start 
                                       // bit 6 von adcon0
   while (adst == 1){}                 // Wait A/D conversion 
   return ad;                          // AD value 
}



Nachdem was ich von Euch gelernt habe wird dieser Funktion eine Vorzeichenlose char Variable (0 ... 255) übergeben, die Kanalnummer, die A/D Abfrage/Wandlung beginnt und am Ende wird eine Zahl zwischen 0 ... 1023 der Variablen ad übergeben zur Weiternutzung im Programm. Richtig?

Die Variable ad wird aber nirgens deklariert. ???  :kratz:

Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz