Interrupts on MEGA2560
2 berichten
• Pagina 1 van 1
Interrupts on MEGA2560
Hallo,
Ik heb werkende sketches voor een VFO met DDS - AD9850 ( geschreven door Richard Visokey - AD7C) voor een Arduino UNO .
Ik probeer deze sketch nu om te schrijven naar een MEGA2560 omdat ik meer poorten nodig heb.
Alles werkt netjes behalve de rotary encoder . In de originele sketch worden de pinnen D2 & D3 gebruikt ( interrupt pinnen )
Ik , daarentegen , wil D18 & D19 op de MEGA gebruiken (ook interrupts )
De originele lijnen in Richards code zijn :
Rotary r = Rotary(2,3);
PCICR |= (1 << PCIE2);
PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
sei();
ISR(PCINT2_vect) {
unsigned char result = r.process();
if (result) {
Ik heb dus de rotary D2 & D3 in D18 & D19 verandert , tevens de pinmode en dergelijke aangepast maar krijg geen werkende sketch ( geen frequentie verandering bij het verdraaien van de encoder ).
Moet ik wat in de ISR en PCICR-lijnen aanpassen ?
Kan iemand mij op weg helpen ?
Thanks , Jules
Ik heb werkende sketches voor een VFO met DDS - AD9850 ( geschreven door Richard Visokey - AD7C) voor een Arduino UNO .
Ik probeer deze sketch nu om te schrijven naar een MEGA2560 omdat ik meer poorten nodig heb.
Alles werkt netjes behalve de rotary encoder . In de originele sketch worden de pinnen D2 & D3 gebruikt ( interrupt pinnen )
Ik , daarentegen , wil D18 & D19 op de MEGA gebruiken (ook interrupts )
De originele lijnen in Richards code zijn :
Rotary r = Rotary(2,3);
PCICR |= (1 << PCIE2);
PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
sei();
ISR(PCINT2_vect) {
unsigned char result = r.process();
if (result) {
Ik heb dus de rotary D2 & D3 in D18 & D19 verandert , tevens de pinmode en dergelijke aangepast maar krijg geen werkende sketch ( geen frequentie verandering bij het verdraaien van de encoder ).
Moet ik wat in de ISR en PCICR-lijnen aanpassen ?
Kan iemand mij op weg helpen ?
Thanks , Jules
Advertisement
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 23 gasten