Attiny 1616 Hardware-Interrupt

OP #7552042
Lesenswert?

Hallo zusammen.

Ich wollte fragen ob mir jemand sagen kann welches der Hardware-Interrupt INT0 oder INT1 PIN ist. Irgend wie bin ich zu dof und blicke nicht mehr durch und in Googel finde ich mit INT0 PIN oder so leider nichts.

Ich habe ein Programm das bis jetzt auf einem Attiny84 lief und den INT0 oder INT1 benötigt.

Könnte mir da jemand helfen? ich währe sehr dankbar.

Gruss Stefan

OP #7552058
Lesenswert?

Danke Ingo

Darf ich dich Konkret Fragen ob ich demnach den Attiny1616 für mein DCC Projekt nehmen kann?

NMRA Digital Command Control (DCC) Library

This library allows you to interface to a NMRA DCC track signal and receive DCC commands.

The library currently supports the AVR ATTiny84/85 & ATMega88/168/328/32u4 and Teensy 3.x using the INT0/1 Hardware Interrupt and micros() ONLY and no longer uses Timer0 Compare Match B, which makes it much more portable to other platforms.

https://github.com/mrrwa/NmraDcc

Nochmals besten Dank

#7552060
Lesenswert?

Stefan W. schrieb:

Darf ich dich Konkret Fragen ob ich demnach den Attiny1616 für mein DCC Projekt nehmen kann?

Stefan W. schrieb:

The library currently supports the AVR ATTiny84/85 & ATMega88/168/328/32u4 and Teensy 3.x using the INT0/1 Hardware Interrupt and micros() ONLY and no longer uses Timer0 Compare Match B, which makes it much more portable to other platforms.

Deinen eigenen Aussagen nach unterstützt deine LIB den Controller nicht. Da du dich mit dem Entnehmen von Informationen aus Text so schwer tust, denke ich nicht, dass du das Problem selber lösen kannst.

Stefan W. schrieb:

Ich habe ein Programm das bis jetzt auf einem Attiny84 lief und den INT0 oder INT1 benötigt.

Dann lass es weiterhin auf dem funktionierenden Controller laufen

OP #7552062
Lesenswert?

Ingo Ich suche keine fertige lösung sondern ein Weg zu der Lösung um mein Wissen aus zu bauen.

Der beste Lehrer war einmal auf das wissen anderer angewiesen.

würde es in etwa um so etwas gehen wen ich es richtig verstanden habe.

ISR(PORTC_PORT_vect) { PORTC.OUT ^= (1 << 0); PORTC.INTFLAGS |= (1 << 5);
}

#7552081
Lesenswert?

Korrekte (verständliche) Schreibweise:

1
PORTA.DIRSET = PIN4_bm;      // PA4 as output
2

3
PORTA.DIRCLR = PIN4_bm;      // PA4 as input
1
PORTA.OUTSET = PIN4_bm;      // PA4 on
2

3
PORTA.OUTCLR = PIN1_bm;      // PA1 off
4

5
PORTB.OUTTGL = PIN1_bm;      // toggle PB1
1
ISR(PORTA_PORT_vect) 
2
{
3
  PORTA.INTFLAGS = PORT_INT6_bm;  // clear PA6 interrupt flag
4
}
#7552674
Lesenswert?

Hallo,

das Bsp. von Microchip ist eine gute Basis. https://github.com/microchip-pic-avr-examples/avr128da48-ext-int-wakeup-example Klickste dich durch bis zur main.c, lesen, verstehen lernen, ausprobieren. Danach an eigene Zwecke anpassen. Die AVRs sind streng Art verwandt, sprich die Registernamen und Funktionalitäten sind nahezu gleich. Kannste direkt das Manual von deinem ATtiny daneben legen. Generell kann ich empfehlen bei allen 8 Bit ATtiny und AVR Controller in den Dokumenten quer zu lesen. Diese Getting Started Dokus zu verschiedenen Themen sind etwas verstreut verlinkt. Da sie wie gesagt sehr ähnlich aufgebaut sind, kann man alle diese Dokus für alle neuen Controller verwenden. Dann hat man den Einstieg geschafft denke ich. Die Getting Started Dokus kann man alle durchlesen. Bei Fragen - einfach fragen. Ich habe einen AVR128DB64 immer zur Hand. Ein Atmega4808/4809 ebenso.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren