我正在尝试为基于Arduino的ESP8266实现包装器库,该包装器将充当Modbus控制器。
我正在使用的Modbus库(ModbusMaster)具有一个功能,该功能设置每次传输之前要执行的操作:_modbus.preTransmission(void( *preTransmission)()
。
我试图弄清楚如何将函数MyWrapperClass::preTransmission()
设置为回调函数。
MyWrapperFunction::MyWrapperFunction() {
_modbus.begin(_slaveId, serial); //_modbus defined in header file ModbusMaster _modbus;
_modbus.preTransmission(this->preTransmission);
_modbus.postTransmission(this->postTransmission);
}
void MyWrapperFunction::preTransmission() {
//Stuff before transmission
}
void MyWrapperFunction::postTransmission() {
//Stuff after transmission
}
但是我会遇到各种编译器错误(取决于我在做什么),包括:
error: no matching function for call to 'ModbusMaster::postTransmission(<unresolved
overloaded function type>)'
也很抱歉,如果这是重复的内容-当您不知道要搜索的字词时,很难搜索相似的内容。我敢肯定,这已经被问过了,但是我找不到答案。