Hi,
ich habe folgende Funktion geschrieben die mir Variablen über die UART
ausgiebt.
1 | void uart (char *text, uint32_t data){
|
2 | static uint8_t first = 0;
|
3 |
|
4 | if (first < 1){
|
5 | printf1("%s:\t", text);
|
6 | first = 1;
|
7 | }
|
8 | else{
|
9 | printf1("%04u\t", data);
|
10 | }
|
11 | }
|
Funktioniert soweit auch prima. Beim erstaufruf wird die Überschrift
ausgegeben und bei allen weiteren aufrufen wird der Wert ausgegeben.
Somit lässt sich das ganze schön in excel importieren.
Jetzt würde ich diese Funktion gerne mehrfach verwenden. Das heist es
soll zu jeder Variablen die passende Überschrift ausgegeben werden.
Deshalb bräuchte ich für jede Funktion die Variable "static uint8_t
first".
Ich habe versucht dies mit #pragma inline bzw. #pragma inline=forced zu
lösen.
Leider bekomm ich dabei vom Linker folgenden Fehler:
Error[Li005]: no definition for "uart" [referenced from
C:\WORKSPACE\proj\EWARM\proj Configuration\Obj\main.o]
Ich vermwende IAR auf einem STM32F4
Hat jemand eine Idee?