Hi,
hier mal ein schnell in ein paar Minuten geschriebener Code, der AD/Werte ausliest und über die serielle Schnittstelle sendet (ohne Schönheitsgarantie
) :
Code:
$regfile = "M32DEF.DAT" 'Controller ist ein Mega32
$crystal = 16000000 'mit 16 MHz
Baud = 9600 'serielle Schnittstelle initialisieren mit 9600,n,8,1
Config Adc = Single , Prescaler = Auto 'AD Wandler Konfigurieren
Dim Temperatur As Integer 'Werte dimensionieren
Dim Spannung As Integer
Dim Strom As Integer
Dim Ausgabe As String * 5
Dim Sendestring As String * 40
Start Adc 'AD-Wandler starten
Do
Temperatur = Getadc(0) 'Werte vom AD-Wandler holen
Spannung = Getadc(1)
Strom = Getadc(2)
Gosub Werte_berechnen
Gosub Werte_ausgeben
Loop
End
Werte_ausgeben:
Ausgabe = Str(temperatur) 'Wert in String umwandeln
Ausgabe = Format(ausgabe , "+0000") 'String formatieren inkl. Vorzeichen
Sendestring = "Temperatur = " + Ausgabe + " Grad" 'Beschreibung dazu
Print Sendestring 'senden und cr/lf anhängen
Ausgabe = Str(spannung)
Ausgabe = Format(ausgabe , "+0000")
Sendestring = "Spannung = " + Ausgabe + " Volt"
Print Sendestring
Ausgabe = Str(strom)
Ausgabe = Format(ausgabe , "+0000")
Sendestring = "Strom = " + Ausgabe + " Ampere"
Print Sendestring
Return
Werte_berechnen:
'Hier kann man dann noch die Werte "mundgerecht aufarbeiten"
Return
Bascom hat übrigens auch einen eigenen Simulator.
Da kann man sowas prima testen 
Das Prog. beötigt übrigens 3% des Programmspeichers im Chip 
Kleiner uns hübscher geht's auch, aber ist eben schnell zusammengefummelt..
Wenn du dann noch ein LCD Display dranhängen willst, sind's nochmal etwa 10 Zeilen mehr.
Also alles nicht so schwer und kompliziert..
Ist halt ein riesen Vorteil von Basic.
Hier mal ein Codevergleich von verschiedenen Programmiersprachen für die AVRs :
https://www.roboternetz.de/wissen/in...ourcevergleich
Gruß
Christopher
Lesezeichen