
Zitat von
Hubert.G
... In jeden Interrupt eine LED die aufleuchtet wenn er angesprungen wird...
Hei, war das ein hübsche Arbeit
.
Zuerst natürlich:
Code:
PCICR = 0x00; // Verbiete ALLE Pin-Change-Interrupts
PCMSK0 = 0x00; // Verbiete ALLE Pin-Change-Interrupts an den entspr. Pins
PCMSK1 = 0x00; // Verbiete ALLE Pin-Change-Interrupts an den entspr. Pins
PCMSK2 = 0x00; // Verbiete ALLE Pin-Change-Interrupts an den entspr. Pins
und dann nach diesem Muster
Code:
/* ============================================================================== */
/* === ISR für Timer1 Input Capt =============== */
/* Routine setzt LED auf Port PC1 1 Mal = Vektor 11 */
SIGNAL(TIMER1_COMPA_vect)
{
PORTC |= (1<<PC1); // Setze Port C1
PORTC |= (1<<PC2); // Setze Port C2
waitms(500); // Warte (einfach irre lang)
PORTC &= ~(1<<PC1); // Lösche Port C1
waitms(500); // Warte (einfach irre lang) 1
}
/* ============================================================================== */
. . . so ähnlich für alle 25 Vektoren. Nicht wirklich BCD und die waits brrrrrr - ok sagte ich mir, wenn er dorthin interruptet, dann ist er sowieso schon am Rande des Chaos. ABER - ich hatte damit den Fehler auf die Gegend um den vec 14 - Timer0-compx/OVF lokalisiert. Völlig rätselhaft. Für heute habe ich genug. Ich mache mit dem mega16 oder 32 weiter, leider geometrisch vier mal so gross und nur bis 16 MHz. Den m168 lege ich erstmal zu Seite - schade
.
Lesezeichen