Forum: Mikrocontroller und Digitale Elektronik attiny85 interrupt-behandlung


von Wolfram (Gast)


Angehängte Dateien:

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)


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)


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)


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)


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 Einer K. (Gast)


Lesenswert?

Jim M. schrieb:
> Denn zum neu programmieren braucht man danach zwingend HVPP

Nööö!
HVSP

von Karl M. (Gast)


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)


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)


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)


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)


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!

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.