| 1234567891011121314151617181920212223242526272829303132 |
- void setup() {
- Serial.begin(115200);
- pinMode(LEFT_MOTOR_PIN, OUTPUT);
- pinMode(RIGHT_MOTOR_PIN, OUTPUT);
- pinMode(LEFT_MOTOR_DIRECT_PIN, OUTPUT);
- pinMode(RIGHT_MOTOR_DIRECT_PIN, OUTPUT);
- for(byte i = LOW_CHANNEL; i <= NUM_CHANNELS; i++) {
- pinMode(channels[i], INPUT);
- }
- enableInterrupts();
- delay(2000);
- }
- void enableInterrupts() {
- for(byte i = 0; i <= NUM_CHANNELS; i++) {
- byte pin = channels[i];
-
- *digitalPinToPCMSK(pin) |= bit (digitalPinToPCMSKbit(pin)); // enable pin
- PCIFR |= bit (digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
- PCICR |= bit (digitalPinToPCICRbit(pin)); // enable interrupt for the group
- }
- }
- // handle pin change interrupt for D8 to D13 here
- ISR (PCINT0_vect) {
- readPins();
- }
|