Forum: Mikrocontroller und Digitale Elektronik attiny85 interrupt-behandlung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Wolfram (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich möchte am ATtiny85 den PCINT5 ausnutzen; das Problem ist, dass 
dieser pin auch mit RESET belegt ist. Bei allem, was ich versuche, wird 
grundsätzlich RESET ausgelöst - was mache ich falsch?

Im Anhang ist die Liste des Assembler-Programmes: ist macht die LED an 
PORTB3 und PORTB4 an; bei PCINT5 sollo die Lampe aus/an-gehen. Es gehen 
aber grundsätzlich beide Lampe aus, solange PORTB% aktiv ist, und beide 
an, wenn PORTB5 ausgeht.

Ich habe das gleiche auch mit BASCOM versucht - gleicher Effekt.

von Timmo H. (masterfx)


Bewertung
0 lesenswert
nicht lesenswert
Du musst den Reset-Pin in den Fuses erst deaktivieren "RSTDISBL" 
(Achtung ab da ist keine Programmierung über ISP mehr möglich sondern 
nur noch über HV)

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Wolfram schrieb:
> Bei allem, was ich versuche, wird
> grundsätzlich RESET ausgelöst - was mache ich falsch?

Du müsstest den Reset pin "wegfusen", dann sollte man den µC aber 
gesockelt betreiben.

Denn zum neu programmieren braucht man danach zwingend HVPP - und die 
12V würden in der Schaltung sicher stören.

von Karl M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfram schrieb:
> Hallo!
> Ich möchte am ATtiny85 den PCINT5 ausnutzen; das Problem ist, dass
> dieser pin auch mit RESET belegt ist. Bei allem, was ich versuche, wird
> grundsätzlich RESET ausgelöst - was mache ich falsch?
>
> Im Anhang ist die Liste des Assembler-Programmes: ist macht die LED an
> PORTB3 und PORTB4 an; bei PCINT5 sollo die Lampe aus/an-gehen. Es gehen
> aber grundsätzlich beide Lampe aus, solange PORTB% aktiv ist, und beide
> an, wenn PORTB5 ausgeht.
>
> Ich habe das gleiche auch mit BASCOM versucht - gleicher Effekt.

Also kann man sage, das Datenblatt des Attiny85 ist nicht dein Freund!
Was Reset Pin bedeutet ist Dir bekannt?

Dann sollte doch klar sein, dass ein Low auf diesem Eingang eine Restart 
des gesamten AVR µC auslöst!

Dabei ist es egal, welche Art der Programmiersprache man verwendet.

Soll den ein Taster abgefragt werden? Dann muss man ihn auch entprellen.
Bei einem Aufwachen aus einem Power Save Modus natürlich nicht.

von spess53 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi

>Du musst den Reset-Pin in den Fuses erst deaktivieren "RSTDISBL"

Wie wäre es einfach den Interrupt über PCMSK abschalten?

MfG Spess

von Arduino Fanboy D. (ufuf)


Bewertung
-1 lesenswert
nicht lesenswert
Jim M. schrieb:
> Denn zum neu programmieren braucht man danach zwingend HVPP

Nööö!
HVSP

von Karl M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
>>Du musst den Reset-Pin in den Fuses erst deaktivieren "RSTDISBL"
>
> Wie wäre es einfach den Interrupt über PCMSK abschalten?
>
> MfG Spess

Wie ist da gemeint?

Er will ja genau dies erreichen, und an PB5 == /RESET, PCINT5 liegt nun 
mal Reset an, solange man es nicht über das Fusebit abschaltet.

Im DB findet man deshalb:

/Port B, Bit 5 – RESET/dW/ADC0/PCINT5/
* RESET: External Reset input is active low and enabled by unprogramming 
(“1”) the RSTDISBL Fuse.
Pullup is activated and output driver and digital input are deactivated 
when the pin is used as the RESET pin.

* dW: When the debugWIRE Enable (DWEN) Fuse is programmed and Lock bits 
are unprogrammed, the debugWIRE system within the target device is 
activated. The RESET port pin is configured as a wire-AND (open-drain) 
bi-directional I/O pin with pull-up enabled and becomes the 
communication gateway between target and emulator.

* ADC0: Analog to Digital Converter, Channel 0.

* PCINT5: Pin Change Interrupt source 5.

von Wolfram (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke, Ihr habt mir alle sehr geholfen. Jetzt interessiert mich noch 
eine Frage: Kann ich irgendwie feststellen, ob der RESET durch den PIN 
oder durch POWER ON ausgelöst wurde?
Danke!

von Wong (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfram schrieb:
> eine Frage: Kann ich irgendwie feststellen, ob der RESET durch den PIN
> oder durch POWER ON ausgelöst wurde?

Schau im Datenblatt zum Register MCUSR – MCU Status Register nach.

von Karl M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfram schrieb:
> Danke, Ihr habt mir alle sehr geholfen. Jetzt interessiert mich
> noch
> eine Frage: Kann ich irgendwie feststellen, ob der RESET durch den PIN
> oder durch POWER ON ausgelöst wurde?


Ja, dazu steht im Datenblatt etwas.

von Wolfram (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nochmals DANK!
Datenblatt lesen kann ich schon, sonst wäre ich bis jetzt noch nicht so 
weit gekommen. Aber manche Zusammenhänge sind nicht sofort klar und 
bedürfen der Erläuterung.
Jetzt bin ich dank Eurer Hilfe schlauer!

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]
  • [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.