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.
10 years, 10 months ago.
Why does this not work? - Serial Question..
From the pc i send serial data to sINPUT and expect it to send that data out of sOUTPUT
Serial cant send getc
#include "mbed.h"
Serial sOUTPUT(p9, p10); // tx, rx
Serial sINPUT(USBTX, USBRX); // tx, rx
int main() {
sOutput.baud(921600);
sINPUT.baud(921600);
while (1)
{
sOutput.printf(sINPUT.getc());
}
}
3 Answers
10 years, 10 months ago.
The first parameter to printf should be a string. You are giving it an int.
You could try sOutput.printf("%c", sINPUT.getc()), but it might be more efficient to use putc and getc instead. There is an example of doing this in the Handbook Serial page.
10 years, 10 months ago.
Use putc rather than printf. printf expects a char* and you're passing it a char.
The alternative would be sOutput.printf("%c",sINPUT.getc());
but that would be about 20 times slower than putc for no benefit