Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
6 years, 9 months ago.
Correct usage of event_callback_t (attach method is deprecated?)
Hello,
I am implementing a firmware on a STM32F303RE, and I am using the Serial.write method.
Here is a short version what I have:
Short example
#include "mbed.h"
Serial serialPort(USBTX, USBRX, 115200);
event_callback_t serialCallback;
void onSerialTxComplete(int event)
{
// Do something
}
void receiveBytes()
{
unsigned char byte = serialPort.getc();
// Processes the data
}
int main()
{
unsigned char buffer[64];
serialCallback.attach(&onSerialTxComplete);
serialPort.attach(&receiveBytes);
while(1)
{
serialPort.write((const unsigned char *)buffer, 64, serialCallback, SERIAL_EVENT_TX_COMPLETE);
wait(2);
}
}
Now, it does compile, but it also tells me that this implementation is deprecated:
Warning: Function "mbed::Callback<R (A0)>::attach(R (*)(A0)) [with R=void, A0=int]" (declared at line 918 of "/extras/mbed/platform/Callback.h") was declared "deprecated" in "main.cpp"
Anyone knows how the callbacks should be implemented now?
Thank you
1 Answer
6 years, 9 months ago.
Hi, if I got the line correct, the warning should also print what you can use instead. In this case, it would be to use assignment:
Callback cb = function;