覆盆子皮威灵皮c++;将对象调用为中断 我是一个C++初学者,对于一个机器人项目,我正在创建一个程序来控制多个电机,也可以得到它们的速度。

覆盆子皮威灵皮c++;将对象调用为中断 我是一个C++初学者,对于一个机器人项目,我正在创建一个程序来控制多个电机,也可以得到它们的速度。,c++,raspberry-pi,wiringpi,interruption,C++,Raspberry Pi,Wiringpi,Interruption,为了获得速度,我在电机上安装了一个“代码轮”,它根据电机速度向树莓的一个引脚发出0/1信号 该函数接收代码轮获得的段数(我有不同的段),并应返回电机速度。 通过中断wiringPiISR来激活该功能,以避免循环不断地对其进行检查 由于有几个电机需要控制,我需要这个代码重复多次,因为有电机。 因此,我创建了一个类文件,其中包含函数: #包含//以便Cout显示内容 #包含//用于计算时间的库 #包含//用于多线程 #包括 #包括//Raspberry pi GPIO库 #包括“RPMCounter

为了获得速度,我在电机上安装了一个“代码轮”,它根据电机速度向树莓的一个引脚发出0/1信号

该函数接收代码轮获得的段数(我有不同的段),并应返回电机速度。 通过中断
wiringPiISR
来激活该功能,以避免循环不断地对其进行检查

由于有几个电机需要控制,我需要这个代码重复多次,因为有电机。 因此,我创建了一个类文件,其中包含函数:

#包含//以便Cout显示内容
#包含//用于计算时间的库
#包含//用于多线程
#包括
#包括//Raspberry pi GPIO库
#包括“RPMCounter01.h”
RPMCounter::RPMCounter(){
//int代码段=0;
int MNbSegments=0,MNbSegmentsSeen=0,MResult=0;//段总数的计数器
//int MNbSegmentsSeen=0;//已看到的段数计数器
//int MResult=0;//转速测量结果电机应以220 rpm转速转动
std::chrono::duration TotalResult;//在初始化为0的chrono库中将TotalResult定义为纳秒
std::chrono::stable_clock::time_point BeginMeasurement;//表示电机转速测量开始的chrono变量
double Freq=0;//电机的频率
}
void RPMCounter::FreqCounter(int代码段){
使用名称空间std::chrono;
duration InstaResult=staid_clock::now()-BeginMeasurement;//两段之间所需时间的结果
MNbSegments+=1;//增加段计数器
BeginMeasurement=稳定的时钟::now();//新周期的开始

//std::我建议您添加有关错误的信息。您是否看到了
wiringPiISR
的文档?如果是,您不清楚这其中的哪一部分?@EvilTeach Done,抱歉:/@Cubic好的,基本上,我如何调用另一个.cpp文件中的类中的对象来处理中断?最好的猜测是rpmpuet.frequencounter不会返回n是一个值,因此不能在wiringPiISR调用中使用。
RobotControl03.cpp:133:69: error: invalid use of void expression
     wiringPiISR (Motor0In, INT_EDGE_RISING, RPMPouet.FreqCounter(36)); //create the interruption on the GPIO input nb "Motor0In" in case of rising edge for counting RPM