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.
5 years, 10 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
5 years, 10 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;