PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Analogen Port einlesen, und Ausgabe über LED's, wie geht's ?



herrmo1a
03.01.2005, 16:59
Hallo Zusammen,
ich bin totaler Neuling hier, hab mir schon einige Beispiele von euch angeschaut, und finde das "unter die Arme gegreife für Anfänger " SUPER!! Großes Lob !!. Da ich nicht unbedingt der fiteste in C Prog. bin wollte ich mal kurz nachfragen , ob mir vielleicht jemand einen C Code zum einlesen einer analogen Spannung über den Atmega16 hat, welcher dann z.B die Spannung über die Led's des STK500 als binäer Wert ausgibt. Wäre mir eine sehr große Hilfe, vielleicht blick ich dann endlich wie ich so was machen muß, da das digitale Ausgeben und Tastereinlesen über das STK500 schon funzt =P~ . Für meine Analoge Spannung habe ich zwischen VTG und GND ein Potti mit 10 kOhm, und 100 pF zwischen Schleifer und GND, ich hoffe das ist so richtig ?

03.01.2005, 19:17
wenn du die Spannung binär auf LEDs ausgeben willst kannst du den Wert den dir der ADC liefert (ADC) einfach an einen PORTx schreiben. Du musst nur einen Teil wegwerfen weil der ADC 10bit hat, das STK500 aber nur 8 LEDs :)
Zur Initialisierung stehen Code Samples im Spec vom Mega16. Genauer hab ichs grad net da, musste selber mal pdf lesen ;-)
Viel Erfolg!

jap
19.02.2005, 22:00
ist ja witzig.. wollte mit exakt deiner konfiguration eben dasselbe versuchen. Hast du schon einen fertigen c-code fürs einlesen und ausgeben? Ich komm mit dem interrupthandling (signal.h) noch nicht klar. würdest mir helfen, wenn du ihn mir zur verfügung stellen könntest.

JanB
19.02.2005, 22:03
Hallo,
einfach an einen PORTx schreiben
Kleiner Tip:
Es sieht besser aus, wenn du den Wert vorher bitweise invertierst,
weil die LEDs des STK500 bei 0 leuchten, und nicht bei 1.

Gruß Jan

jap
19.02.2005, 22:23
mein problem ist eigentlich das Einlesen des analog Wertes nicht die Ausgabe an die Led's......

bluebrother
19.02.2005, 22:33
wo genau liegt dein Problem beim Einlesen? Kannst du die Werte über die serielle Schnittstelle ausgeben oder kriegst du noch nicht mal vernünftige Werte?

jap
19.02.2005, 22:48
erst mal danke für's nachfragen.
hab gerade winavr eingerichtet und mich durch die makefile erstellung gekämpft. jetzt läuft der sample code zum ansteuern der leds.
Als ersten test hab ich nun den scheifer eines 10k potis an Pin0 von port c gelegt (und die anderen anschlüsse natürlich an Versorgung und masse) und will nun die analog spannung von pin0 einlesen, weiss aber nicht wie ich es programmieren muss.
Die signal.h scheint für die einbingung von interrupt routinen zuständig zu sein, hab schon nach einer doku gesucht, find aber nichts.
FRAGE: hat jemand einen kurzen sample code zum interrupt gesteuerten einlesen eines analog signals.
AVR=atmega8.

thx im voraus.

20.02.2005, 12:49
hallo jap und hermo
ich bin auch ein neuling wäre euch sehr dankbar wenn ihr mir sagen könntet welches buch oder tutorial ihr fürs avr-gcc verwendet habts
danke

jap
20.02.2005, 13:36
kurze info:
hab die Doku von winavr übersehen. das installationsmanual ist bei weitem nicht alles. Das was mir gefehlt hat die doku über die libc , zu finden unter ...\WinAVR\doc\avr-libc.
(Für den Fall, dass noch jemand so schlamip sucht wie ich :-)
P.S.: Mit der info ging's dann auch schnell, die im ersten Beitrag beschriebene Aufgabe zu programmieren.....

Arexx-Henk
22.02.2005, 08:41
Hallo jap,


FRAGE: hat jemand einen kurzen sample code zum interrupt gesteuerten einlesen eines analog signals.
AVR=atmega8.

Hier mahl ein Beispiel. (hab's getestet)

MvG,

Henk