Meßwert nach labview übertragen

OP #6040721
Lesenswert?

Guten Tag,

Kennt sich hier jemand mit labview aus ? Ich möchte gerne über die 
serielle schnittstelle einen Wert an labview übergeben, aber ich bekomme 
es einfach nicht hin.

Ich lese mit meinem Atmega über den Adc ein Poti ein 0-255 und möchte 
diesen Wert mit dem Uart senden.

Aber ich kann es in labview nicht richtig verarbeiten, weil mir die 
kenntnisse fehlen, wäre vielleicht jemand bereit mir die angehängte 
Datei mit labview umzuschreiben so das das funktioniert. Und ich es dann 
vielleicht mal verstehe.
Angehängte Dateien:
OP #6040767
Lesenswert?

1
/*************************************************************************
2
Test LABVIEW Meßwert senden Atmega88
3

4
*************************************************************************/
5
#define F_CPU 16000000UL
6
#include <stdlib.h>
7
#include <avr/io.h>
8
#include <avr/interrupt.h>
9
#include <avr/pgmspace.h>
10
#include <util/delay.h>
11

12
#include "uart.h"
13

14

15
/* define CPU frequency in Hz in Makefile */
16
#ifndef F_CPU
17
#error "F_CPU undefined, please define CPU frequency in Hz in Makefile"
18
#endif
19

20
/* Define UART buad rate here */
21
#define UART_BAUD_RATE      9600      
22

23

24
int main(void)
25
{   
26
  uint16_t x;
27
  uint16_t  ergebnis ;
28
  uint16_t i = -12345;
29
    char buffer[30];
30
   
31
    uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); 
32
    
33
  sei();
34
        //*** Init ADC ***
35
    ADCSRA |= (1<<ADEN);              // ADC aktivieren
36
    ADCSRA |= (1<<ADPS0)|(1<<ADPS1);    // Vorteiler auf 8
37
    ADMUX |= (1<<REFS0);              // Uref = 5V
38
    ADMUX |= (1<<MUX2)|(1<<MUX0);       // ADC-Kanal 5 einstellen
39
    ADMUX |= (1<<ADLAR);              // bündig
40
    DIDR0 |= (1<<ADC5D);              // Dig. Input Kanal ADC5 deaktivieren (spart Strom)
41
     
42
    //*** Dummy Readout ***
43
    ADCSRA |= (1<<ADSC);              // Start ADC-Wandlung
44
    while (ADCSRA &(1<<ADSC));            // Auf Abschluss der Konvertierung warten
45
    x = ADC;                            // Das Ergebnis der 1.Wandlung in x speichern
46

47
    
48
    while (1)
49
    {
50
      ADCSRA |= (1<<ADSC);          // Start ADC-Wandlung
51
      while (ADCSRA &(1<<ADSC));        // Auf Abschluss der Konvertierung warten
52
      ergebnis = ADCH;                // Inhalt von ADCH in ergebnis speichern
53
      //PORTD = ergebnis;               // Wandlungsergebnis am Port D ausgeben
54
 
55
       
56
      
57
        
58
         itoa(ergebnis,buffer,10);
59
         uart_puts(buffer);
60
         uart_putc('\r');          // CR Terminal
61
        //_delay_ms(50);
62

63
         
64
        
65
    }
66
    
67
    
68
}

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