浏览代码

disable interrupts during usingInterrupt() on AVR

main
PaulStoffregen 10 年前
父节点
当前提交
d0eca0a3f3
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. +4
    -3
      SPI.cpp

+ 4
- 3
SPI.cpp 查看文件



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


if (interruptMode > 1) return; if (interruptMode > 1) return;


stmp = SREG;
noInterrupts(); noInterrupts();
switch (interruptNumber) { switch (interruptNumber) {
#ifdef SPI_INT0_MASK #ifdef SPI_INT0_MASK
#endif #endif
default: default:
interruptMode = 2; interruptMode = 2;
interrupts();
SREG = stmp;
return; return;
} }
interruptMode = 1; interruptMode = 1;
interruptMask |= mask; interruptMask |= mask;
interrupts();
SREG = stmp;
} }





正在加载...
取消
保存