Hallo.
Ich bin gerade am Einstieg in die STM32 Welt.
Benutze Codesourcery, habe ein STM32F107 Board mit einem Blinkbeispiel
und wollte jetzt über die serielle Schnittstelle etwas ausgeben.
main.c:
1 | #include "inc/meine_usart.h"
|
2 | #include <stdio.h>
|
3 | ..
|
4 | printf("x");
|
meine_usart.c:
1 | int putchar (int ch) {
|
2 | USART_SendData(USART1, ch);
|
3 | return ch;
|
4 | }
|
Debugger springt durch das printf tatsächlich in die putchar und
übergibt das 'x' als Zeichen.
Nur wenn ich jetzt aus dem "x" ein "xx" mache, bekomme ich vom Linker
die Fehlermeldung in der printf-Zeile: undefined reference to `printf'
Ich dachte 'x' ist char und "x" ist char*, genau wie "xx".
Warum meckert der Linker dann bei "xx" ?
Salander