Re: Attiny13 mit Pinchange Interrupt boolvariable setzen
Pardon oberallgeier, ersetze sleep() durch _delay_ms
Zitat:
Zitat von ExXeQtor
Code:
ISR(PCINT0_vect)
{
if (onoff)
{
_delay_ms(200); // hier
}
if (!onoff)
{
_delay_ms(200); // und heir
}
}
(Für den Hinweis unnötiger Code wurde von mir gelöscht)
@ExXeQtor:
Das ist keine Hardware-Entprellung - Oder hast du irgendwelche Hardware zwischen Taster und Pin geschaltet, die die Entprellung übernimmt? Dann hast du nichts davon geschrieben ... Und nein, das oben ist KEINE Hardware-Entprellung.
Zitat:
Zitat von ExXeQtor
prellen tut der aufbau soweit nicht (merkbar)
Nein, er tut nur nicht was er soll ... Also alles bestens?
Wie wäre es wenn du jetzt Mal Nägel mit Köpfen machst, dir das notwendige Wissen anliest und aufhörst irgendwelche sonderbare Konstrukte mit dem PCINT zu schrauben ohne dessen "Seiteneffekte" zu beachten.
mfG
Markus
Re: Attiny13 mit Pinchange Interrupt boolvariable setzen
Zitat:
Zitat von markusj
Nein, er tut nur nicht was er soll ... Also alles bestens?
Stimmt, allerdings lag das (zumindest unter anderem) an dem Effekt, den Slein im 2. Post in diesem thread bemerkt hat - berücksichtigt man das, wird die ISR zumindest aufgerufen und das nur EINMAL (wo wir bei entprellen sind, weshalb ich davon ausging der parallele widerstand und kondensator zu ground seien "hardwareentprellung" - vielleicht ist das ja der falsche begriff - wie nennt man es?)
Zitat:
Zitat von markusj
Wie wäre es wenn du jetzt Mal Nägel mit Köpfen machst, dir das notwendige Wissen anliest und aufhörst irgendwelche sonderbare Konstrukte mit dem PCINT zu schrauben ohne dessen "Seiteneffekte" zu beachten.
Ich bin dabei, auch deshalb bin ich in diesem forum! ;)
"Anlesen" ist immer gut gesagt, wenn man mit einem Gebiet anfängt - da gehört zum verständnis schon auch praxis dazu.
Grüße
Re: Attiny13 mit Pinchange Interrupt boolvariable setzen
Zitat:
Zitat von ExXeQtor
(wo wir bei entprellen sind, weshalb ich davon ausging der parallele widerstand und kondensator zu ground seien "hardwareentprellung" - vielleicht ist das ja der falsche begriff - wie nennt man es?)
DAS ist Hardwareentprellung, wie effektiv sie ist ist eine andere Frage. (Ebenso die Tatsache, dass du erst nach elf Antworten von diesem Aufbau geschrieben hast.)
Ich habe weiter oben nicht umsonst die beiden Wiki-Einträge verlinkt, dort steht alles drin was du zum Thema Entprellung wissen musst.
Kurzzusammenfassung: Die zuverlässigeren Routinen basieren typischerweise darauf dass sie die Eingänge mit einer gewissen Frequenz abtasten dann anhand mehrerer zurückliegender Werte stabile Zustände erkennen.
mfG
Markus