Forum: Mikrocontroller und Digitale Elektronik STM32 Interrupt 2 Taster erkennen


von The F. (frotzzi)


Lesenswert?

Hallo ich bin recht neue in der Programmierwelt und versuche grade die 
einfachsten dinge zu realisieren.

Dazu habe ich zwei Taster die beide ein High Signal haben. Sobald einer 
davon ein Low Signal bekommt soll der Interrupt beginnen.

Übersicht
S1 = 1
S2 = 1

Wenn S1 || S2 = 0 --> Interrupt

Ich habe mir ein paar Artikeln angeguckt viele waren ehr auf Englisch 
aber wirklich ne Idee habe ich jetzt nicht.

: Verschoben durch Moderator
von PittyJ (Gast)


Lesenswert?

Als Neuling sind Interrupts eine Nummer zu gross. Mach erst mal 
Basis-Sachen wie Portabfrage ohne Interrrupt.

Und Englisch ist die Standard-Sprache. Ohne die geht gar nichts. Ich 
dachte, das würde auf jeder Schule gelehrt ...

von STM Leera (Gast)


Lesenswert?

The F. schrieb:
> Hallo ich bin recht neue in der Programmierwelt und versuche grade die
> einfachsten dinge zu realisieren.

Die einfachsten Dinge sind beim STM erst mal den Prozessor
überhaupt zum Laufen zu bringen, den Takt richtig einzustellen.
Dann kann man daran gehen einen Port richtig zu initialisieren
und eine LED zum Leuchten oder Blinken zu bewegen.

PittyJ schrieb:
> Als Neuling sind Interrupts eine Nummer zu gross.

Sehr richtig. Es sein denn man will den fünften Schritt vor
dem ersten tun.

von The F. (frotzzi)


Lesenswert?

> Die einfachsten Dinge sind beim STM erst mal den Prozessor
> überhaupt zum Laufen zu bringen, den Takt richtig einzustellen.
> Dann kann man daran gehen einen Port richtig zu initialisieren
> und eine LED zum Leuchten oder Blinken zu bewegen.

Das habe ich schon ausprobiert, ich habe erfolgreich den Port als 
Ausgang initialisiert und auch angesteuert. Durch die Delay Funktion 
habe ich dann auch noch ein Lauflicht erstellt.

von STM Leera (Gast)


Lesenswert?

The F. schrieb:
> Das habe ich schon ausprobiert

Dann suche richtig.

Suchbegriffe:  stm32 configure port interrupt

Ein Treffer z.B. hier

https://stm32f4-discovery.net/2014/08/stm32f4-external-interrupts-tutorial/

von The F. (frotzzi)


Lesenswert?

> Ein Treffer z.B. hier
>
> https://stm32f4-discovery.net/2014/08/stm32f4-external-interrupts-tutorial/

Solche Bespiele habe ich schon gesehen. Bei mir hakt es ab den Punkt wo 
ich sage ok der PD0 Port soll das tun.

In deinem Beispiel nimmt er den PD0 Port als Interrupt und initialisiert 
ihn als Input. Aber wo sagt er jetzt genau was passieren soll wenn PD0 
ein High oder Low Signal bekommt? Oder wird das in die main einfach 
geschrieben und er erkennt ihn sofort als Interrupt?

Quasi so:

...
main ()
{
    if (PD0 == HIGH/Low)
        {
            ...
        }
}

void Configure_PD0(void)
{
...
}

von andreasgf (Gast)


Lesenswert?

Hallo,
vielleicht hilft dir das weiter :
http://www.diller-technologies.de/stm32.html

Gruss Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.