Arduino PinChangeInt.h 产生编译器错误
Arduino PinChangeInt.h yields compiler errors
我尝试重新编译一个使用 PinChangeInt 的旧 arduino 草图。编译器报如下错误:
Arduino: 1.6.9 (Windows 7), TD: 1.29, Board: "Arduino/Genuino Micro"
In file included from D:\home\arnold\development\arduino\drone\serial_comm\Rx\Rx.ino:50:0:
C:\packages\arduino\libraries\PinChangeInt/PinChangeInt.h:328:32: error: 'PCMSK1' was not declared in this scope
PCintPort portC=PCintPort(3, 1,PCMSK1); // port PC==3 (also in pins_arduino.c, Arduino version 022)
C:\packages\arduino\libraries\PinChangeInt/PinChangeInt.h:331:32: error: 'PCMSK2' was not declared in this scope
PCintPort portD=PCintPort(4, 2,PCMSK2); // port PD==4
exit status 1
Error compiling for board Arduino/Genuino Micro.
有谁知道这里出了什么问题以及我该如何修复这些错误?使用Arduino 1.6.9版本,PinChangeInt版本为2402.
在Arduino Micro
中使用了ATMega32U4
,它只支持PORTB
上的PCMSK0
。其他端口没有此功能。参见:ATMega32U4 datasheet.
你也可以使用attachInterrupt
来处理外部中断。因此,您在引脚 0
、1
、[=18 上有八个 PCINT0
个源(所有源都有一个 ISR 处理程序)和五个外部中断源(每个都有自己的 ISR 处理程序) =]、3
和 7
(硬件引脚:PD0
- PD3
、PE6
)。
我尝试重新编译一个使用 PinChangeInt 的旧 arduino 草图。编译器报如下错误:
Arduino: 1.6.9 (Windows 7), TD: 1.29, Board: "Arduino/Genuino Micro"
In file included from D:\home\arnold\development\arduino\drone\serial_comm\Rx\Rx.ino:50:0:
C:\packages\arduino\libraries\PinChangeInt/PinChangeInt.h:328:32: error: 'PCMSK1' was not declared in this scope
PCintPort portC=PCintPort(3, 1,PCMSK1); // port PC==3 (also in pins_arduino.c, Arduino version 022)
C:\packages\arduino\libraries\PinChangeInt/PinChangeInt.h:331:32: error: 'PCMSK2' was not declared in this scope
PCintPort portD=PCintPort(4, 2,PCMSK2); // port PD==4
exit status 1
Error compiling for board Arduino/Genuino Micro.
有谁知道这里出了什么问题以及我该如何修复这些错误?使用Arduino 1.6.9版本,PinChangeInt版本为2402.
在Arduino Micro
中使用了ATMega32U4
,它只支持PORTB
上的PCMSK0
。其他端口没有此功能。参见:ATMega32U4 datasheet.
你也可以使用attachInterrupt
来处理外部中断。因此,您在引脚 0
、1
、[=18 上有八个 PCINT0
个源(所有源都有一个 ISR 处理程序)和五个外部中断源(每个都有自己的 ISR 处理程序) =]、3
和 7
(硬件引脚:PD0
- PD3
、PE6
)。