Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String versie = "klopvoordeur.ino";
- int leddag = 13; //
- int tel =0;
- void pciSetup(byte pin)
- {
- *digitalPinToPCMSK(pin) |= bit (digitalPinToPCMSKbit(pin)); // enable pin
- PCIFR |= bit (digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
- PCICR |= bit (digitalPinToPCICRbit(pin)); // enable interrupt for the group
- }
- // Use one Routine to handle each group
- ISR (PCINT1_vect) // handle pin change interrupt for A0 to A5 here
- {
- tel++;
- if (digitalRead(A0) == 1) {
- Serial.println( "a0 =1" + String(tel ) );
- digitalWrite(leddag, HIGH);
- }
- if (digitalRead(A0) == 0) {
- Serial.println( "a0 =0" + String(tel ) );
- digitalWrite(leddag, LOW);
- }
- }
- ISR(TIMER1_COMPA_vect) { //timer1 interrupt 1Hz toggles pin 13 (LED)
- //generates pulse wave of frequency 1Hz/2 = 0.5kHz (takes two cycles for full wave- toggle high then toggle low)
- }/////einde timerinterupt timer1
- void setup() {
- int i;
- Serial.begin(115200);
- delay(1000);
- Serial.println (versie);
- for (i = A0; i <= A5; i++)
- digitalWrite(i, HIGH);
- pinMode(13, OUTPUT); //
- // enable interrupt for pin...
- // pciSetup(7);
- // pciSetup(8);
- // pciSetup(9);
- pciSetup(A0);
- cli();//stop interrupts
- //set timer1 interrupt at 1Hz
- TCCR1A = 0;// set entire TCCR1A register to 0
- TCCR1B = 0;// same for TCCR1B
- TCNT1 = 0;//initialize counter value to 0
- // set compare match register for 1hz increments
- OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
- // OCR1A = 500;//debug vith
- // turn on CTC mode
- TCCR1B |= (1 << WGM12);
- // Set CS12 and CS10 bits for 1024 prescaler
- TCCR1B |= (1 << CS12) | (1 << CS10);
- // enable timer compare interrupt
- TIMSK1 |= (1 << OCIE1A);
- sei();//allow interrupts
- }
- ///////////////////////MAINLOOP//////////////////////
- void loop() {
- }//EINDE MAINLOOP////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment