Pārlūkot izejas kodu

disable interrupts during usingInterrupt() on AVR

main
PaulStoffregen pirms 10 gadiem
vecāks
revīzija
d0eca0a3f3
1 mainītis faili ar 4 papildinājumiem un 3 dzēšanām
  1. +4
    -3
      SPI.cpp

+ 4
- 3
SPI.cpp Parādīt failu

@@ -97,10 +97,11 @@ void SPIClass::end() {

void SPIClass::usingInterrupt(uint8_t interruptNumber)
{
uint8_t mask;
uint8_t stmp, mask;

if (interruptMode > 1) return;

stmp = SREG;
noInterrupts();
switch (interruptNumber) {
#ifdef SPI_INT0_MASK
@@ -129,12 +130,12 @@ void SPIClass::usingInterrupt(uint8_t interruptNumber)
#endif
default:
interruptMode = 2;
interrupts();
SREG = stmp;
return;
}
interruptMode = 1;
interruptMask |= mask;
interrupts();
SREG = stmp;
}



Notiek ielāde…
Atcelt
Saglabāt