www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S256 AD-Wandler programmieren


Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und Grüß Gott!

Bin seit 5 Minuten hier angemeldet. freu

Ich habe nun ein Problem. Habe bisher "immer" mit C167-Controllern von 
Infineon zu tun gehabt.
Habe nun die Aufgabe, 3 analoge Spannungen per µC einzulesen und auf 
einem Display auszugeben. Dazu habe ich mir die Platine aus dem Shop 
bestellt, welche mit dem AT91SAM7S256 bestückt ist. Jezt ist meine 
Frage, ob ich da alles genauso programmier wie "früher" auch. Ich geb' 
Registern die entsprehenden hex-Werte und kann alles wie bei enem C167 
auslesen?!
Habe mir schon den einen oder anderen Quelltext dazu einmal angesehen, 
kann das auch nachvollziehen (größtenteils), allerdings selbst schreiben 
stelle ich mir äußerst schwierig vor.....

Was gibt es beim Ansprechen des A/D-Wandlers zu beachten?!

Das Ansteuern des Displays lassen wir nun erst mal außen vor, damit 
werde ich euch sicherlich noch später nerven g

Dankeschön!

Der Praktikant

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo philip,
hats du schon mal einen blick ins datenblatt geworfen?

unter www.at91.com findest du auch eine menge examples.

gruss
gerhard

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard!

Dankeschön für die URL. Nur leider bin ich wohl zu blöd, dort 
Example-Programme zu finden?!?! Und Tante Google spuckt bereitwillig 
auch keine entsprechenden Homepages aus......

Gruß Philip

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.....also ich bin momentan so weit:

- im Register ADC_MR alle Bits auf 0 setzen
- im Register ADC_CHER und ADC_CHDR den gewünschten Kanal auswählen und 
die restlichen auf 0 setzen.
- evtl. prüfen der Kanalwahl über Register CHSR.

aber wie gebe ich jetzt genau an, dass er die entsprechenden Werte auch 
wandelt?!
Macht er das von alleine kontinuierlich oder wie?!

Und mit dem Register ADC_CDRx kann ich (anstatt dem x) die 3 gewandelten 
Werte auslesen und in einer integer-Variablen speichern?!

Vielen Dank für eure Hilfe

Gruß Philip

PS: Ihr seht, es gibt viel zu tun, aber noch habe ich nicht 
aufgegeben.....

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin zwar nicht Gerhard, aber springe mal kurz ein: www.at91.com -> in 
der Auswahlleiste oben "Kit" -> AT91SAM7S-EK -> scrollen bis "Software 
Package" -> AT91SAM7S256 -> das zum verwendeten Compiler passende 
zip-Archiv herunterladen

Im Paket ist ein Projekt "...BasicADC...". Die Beispiele sind bis auf 
den startup-Code kaum compilerspezifisch und lassen sich bei Nutzung 
eines anderen Compilers/einer anderen Toolchain (z.B. gcc/GNU) ganz gut 
darauf portieren. Es empfiehlt sich, die "AT91-lib" zu verwenden (ist 
die "header-Datei" mit vielen inline-Funktionen), wie in den Beispielen 
demonstriert, spart einiges an Sucherei im Datenblatt (bei gcc: define 
__inline static inline vor #include der headerdatei).

Martin Thomas

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hört sich ja vielversprechend an, danke!

Nur bei mir kommt beim Link AT91SAM7S-EK der Fehler 404 im 
Browser......hm!

Bei dir hats funktioniert, oder hast du die Linkfolge "aus dem Kopf" 
aufgeschrieben!?!?

Gruß Philip

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich bin über Umwege zu dem Donwload gekommen..........

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe nun ein weiteres Problem!

Ich brauche wohl für die Compilierung meines Quellcodes aus Eclipse 3.2 
ein makefile. Da steig ich aber nun mal überhaupt nicht durch.
Was muss ich dabei beachten, bzw nacheinander eingeben, damit er aus 
meinem ganzen *.c und *.h Dateien eine *.bin-Datei macht, die ich per 
SAM-BA zum µC übertragen kann?!?!

Dankeschön!

Der Praktikant

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo philip,
ich würde dir die yagarto toolchain empfehlen:
www.yagarto.de


gruss
gerhard

Autor: Philip Kottmann (praktikant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard!

Habe das YAGARTO installiert.....aber das beinhaltet doch auch "nur" die 
Eclipse 3.2 Version?! Damit arbeite ich auch, habe das Tutorial von Jim 
Lynch durchgemacht, funktioniert auch soweit.

Nur will sich das makefile aus diesem Demo-Programm auf Teufel komm raus 
nicht an meine neue AD-Wandler-Dateien anpassen lassen. Das Ding 
erstellt einfach keine main.bin, die ich auf den µC spielen kann.......

Ich steh grade wie der Ochs' vor'm Berg und komm einfach nicht 
weiter....mir schient nur das Makefile zu fheln, dann sollte es schon 
fast klappen, bis auf ein paar Syntax-Fehler, die bei mir des öfteren 
mal vorkommen gg

Gruß

Der Praktikant

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.