www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt auslösen AT91SAMXXXXX


Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


wo genau kann ich nachlesen wie ich genau einen Interrupt durch einen
Taster auslösen kann.
Also was muß ich im AIC und PIO machen usw....und zwar mal in einem
Satz!
Weiß jemand eine Seite bei dem ich das nachlesen kann?

Gruß

Tobias

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt. (Ok, das ist kein richtiger Satz :))
Im groben: ISR schreiben, ISR in den AIC eintragen (Datenblatt), pin 
change interrupt im PIO controller aktivieren (Datenblatt), PIO 
controller konfigurieren (Datenblatt), Takt für PIO aktivieren 
(Datenblatt).
Alternativ kann ich dir die Beispiele von Martin Thomas ans Herz legen.

Autor: Forino (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe den gleichen problem wie du tobias.
hoffe meldet sich jemand .

gruss!

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank

danke für die Antwort!
Hart du zufällig noch einen Tip wo man das noch nachlesen kann?

Martin Thomas benutzt eine lib_AT91SAM7S64_H die ich nicht kompliieren 
kann!
Ich benutzte Ecplise-yagarto-openocd-olimex(ARM-USB-OCD)-Olimex EK 
Board.

Vielleicht auch hier eine Idee?

Gruß

Tobi

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, stellt sich die Frage, warum das bei dir nicht klappt. Ich habe den 
gcc aus den sourcen kompiliert und da geht das eigentlich einwandfrei. 
Schreib doch einfach mal die Fehlermeldung.

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also ich habe einfach mal die lib_AT91SAM7S64_H in mein Projekt kopiert 
und dann in meiner main folgende Zeile kopiert:

AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED2 );


folgende Fehlermeldung bekam ich dann wenn ich unter Ecplise das "Build 
Project" gedrückt habe:

make -k all
.compiling
arm-elf-gcc -I./ -c -fno-common -O0 -g main.c
..linking
arm-elf-ld -v -Map main.map -Ttest123.cmd -o main.out crt.o  main.o 
button2isr.o isrsupport.o lowlevelinit.o libc.a libm.a libgcc.a
GNU ld version 2.17
main.o: In function `main':
L:\Workspace\TEST mit Pollen/main.c:22: undefined reference to 
`AT91F_PIO_ClearOutput'
make: *** [main.out] Error 1
make: Target `all' not remade because of errors.

Hoffe, du hast eine Idee!?

Gruß
Tobias

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst du mit "kopiert"? Die Datei?
Auch mit #include eingebunden?

Auf jeden Fall ist die Funktion nicht bekannt.

Autor: Tobias Eckhardt (doenges2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in den gleichen Ornder kopiert.....merh nicht.

Da es ja eine header Datei sit habe ich sie nicht mit include 
eingebunden!

Kann es sein, daß der Compiler die lib_AT91SAM7S64_H nicht versteht, 
obwohl sie Ansi C entspricht, zum Beispiel weil irgendwelche 
Schlagwörter ihm nicht bekannt sind?

Gruß
Tobias

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst sie einfach mit include einbinden. Die Funktionen sind inline 
in dieser Datei programmiert. Woher soll denn der Compiler wissen, dass 
diese Datei dazugehört?
Am besten, du nimmst eines der Beispielprojekte von Martin Thomas und 
löschst die unnötigen Dinge raus.

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.