Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ h生成编译器错误_C++_Arduino Ide - Fatal编程技术网

C++ h生成编译器错误

C++ h生成编译器错误,c++,arduino-ide,C++,Arduino Ide,我尝试重新编译使用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/P

我尝试重新编译使用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
。其他端口没有此功能。请参阅:


您还可以使用来处理外部中断。因此,在引脚
0
1
2
3
7
(硬件引脚:
PD0
-
PD3
PE6

)上有第四个
PCINT0
源(所有这些源都有一个ISR处理程序)和五个外部中断源(每个都有自己的ISR处理程序)。

谢谢!我现在正在调查。如果有效,我会将此答案标记为正确。我知道attachInterrupt,但我被转到了PinChangeInt,因为attachInterrupt只读取高或低信号,而解码PWM信号显然需要变化的信号。在我不得不再次翻译代码并从1.0.5升级到1.6.9之前,这一切都很顺利。我实现了您的建议,但由于出现了其他错误,我必须确保所有代码都已编译,然后才能确保所有代码都能正常工作:-)正常工作,谢谢!PinChangeInt库提供已注释掉的语句以排除端口。我排除了除portB之外的所有端口,这就做到了。