PIC16F876---> MAX233--->RS232--->PC--->C#

#1600249
Lesenswert?

Hallo Zusammen,

ich habe eine Frage zu ADC und  Visualisierung der Meswerte auf meinem 
PC
mit C#.

Ich messe Spannung mit PIC16F876 und möchte die Messwerte über Max233 
anzeigen lassen.

Meine Anwendung zeigt sehr komische Werte wie:

bei einer Spannung von 5 V -->   3,72E-294
-----------------  von 3,72 v--> 5,37E-299
-----------------  von 2,42 V--> 7,74E-304

weisst jemand was es seien kann?

wäre dankbar für jede info!
Gast #1602346
Lesenswert?

Ja, mal ein bischen mehr Infos rüberwachsen lassen! Das ist eine 
Frechheit! Wenn Du eine vernünftige Antwort haben willst, dann gebe Dir 
bei der Fragestellung bitte ein bisschen mehr mühe!

Schaltung?! Source-Code?!
#1603674
Lesenswert?

mit dieser Methode empfange ich die Daten:

private void Erfassen()
        {
            try
            {
                int count = serialPort1.BytesToRead;
                byte[] ba = new byte[count];
                serialPort1.Read(ba, 0, count);


                Double data1 = BitConverter.ToDouble(ba, 0);
                Double data2 = BitConverter.ToDouble(ba, 0);


                richTextBox1.Invoke(new EventHandler(delegate
                {
                    richTextBox1.Text = data1.ToString();

                }));
                label1.Invoke(new EventHandler(delegate
               {
                   label1.Text = data2.ToString();
               }));
            }
            catch { };

anbei noch die Schaltung:
Angehängte Dateien:
#1605792
Lesenswert?

Hallo,

ich habe den PIC in Assambler programiert und dann nch in C.
In beiden Fällen habe ich die falschen Werte erhalten oder mache ich 
noch was nicht ganz richtig.

hier ist main () Funktion aus dem Programm

void main(void)
{
    uns16 a;                // Variablen
    char n;

    //++  Einstellungen des AD-Wandlers  ++++++++++++++++++++++++++++
    ADCON1=0;               // Ganzer PortA als Analog Vdd Vss
    ADON=1;                 // ADC-Einschalten
    ADCS1=1 ;               // Geschwingigkeit der ADC
    ADCS0=0 ;
    ADFM=1;                 // Rechts Ausrichtung
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    TRISC=0b.1011.1100;     // RC6>TX, RC7>RX
    InitUSART();            // Hardwareschnittstelle des PICs einstellen

    while(1)                // Ganzes Programm ist Endlosschleife
    {
        while(!RCIF);       // Warte auf Empfang
        n=RCREG;            // Empfange Kanalnummer
        a=ADC(n);           // AD-Wandlung
        while(!TXIF);       // Prüfen, ob Sender frei ist
        TXREG = a.low8;     // Niederes Datenbyte senden
        while(!TXIF);       // Prüfen, ob Sender frei ist
        TXREG = a.high8;    // Oberes Datenbyte senden

    }                       // Ende der Schleife
}                           // Ende des Hauptprogramms

Gruß
Serg

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