在PSoC Creator3.0內使用sprintf

1.printf說明

include 

int printf(const char * format, ...);

[table id=10 /]

[table id=11 /]

在使用printf時,如有使用%f表示浮點數時,可以指定小數點顯示位數

如%.2f即代表顯示兩位數(ex:3.14)

return時帶回轉出字元數即字串長度。

#include 

int cnt = 0, num=100;

cnt = sprintf("number = %d", num);

2.sprintf說明

include 

int printf(char *str, const char * format, ...);

使用方式大致與printf相同,僅差別在於sprintf會將轉換結果儲存至 *str陣列中。

#include 
int cnt = 0, num=100;
char str[10];

cnt = sprintf(str, "number = %d", num);

3.PSoC Creator3.0中使用sprintf

PSoC Creator3.0據說是因為要縮減code的大小,以至於在使用sprintf功能時,預設不會載入浮點數轉換的功能,需要另外增加linker命令才可以致能浮點數的轉換功能,如不啟動的情況下使用sprintf轉換float變數時,均會得到空白的結果。

其解決的辦法是在Build Settings設定中的linker加入 -u _printf_float 命令(如下圖)

psoc creator linker

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料