Hello Derek Drost,
the error shown by CodeWarrior explains it clearly. I'll give you a hint, how does the left function differs from the right function? You will find an answer in the picture you shared :smileywink:
MQX is C library, therefore the function _int_install_isr expects the second parameter as a function pointer (void (*)(void *)). Unfortunately, what you attempt to do , install a class method as a callback. Which is not the same (this pointer as part of parameters).
Change the function to static, which will be not part of the class (no this pointer as a parameter). Although you can't access class member from static function. As I checked your code, that does not concern you.
More answers in C++ FAQ:
Regards,
c0170
Hello Derek Drost,
the error shown by CodeWarrior explains it clearly. I'll give you a hint, how does the left function differs from the right function? You will find an answer in the picture you shared :smileywink:
MQX is C library, therefore the function _int_install_isr expects the second parameter as a function pointer (void (*)(void *)). Unfortunately, what you attempt to do , install a class method as a callback. Which is not the same (this pointer as part of parameters).
Change the function to static, which will be not part of the class (no this pointer as a parameter). Although you can't access class member from static function. As I checked your code, that does not concern you.
More answers in C++ FAQ:
Regards,
c0170
In many cases such issues are caused by C++ name mangling. As seen from a C module, the name won't be isrDataReady, but most likely the C++ compiler will take the function parameters into consideration, something like isrDataReady_v. .