![]() |
對不起我錯了,學了這么久C語言還真沒注意到不能在函數外部調用函數![]() |
你的sprintf函數在函數外部給誰用的? |
51hei截圖20211116093931.png (168.67 KB, 下載次數: 57)
你在函數外面使用sprintf()?先看看你的SPRINTF |
warning: #167-D:argument of type "uint8_t *" is incompatible with parameter of ty pe "const char *restrict" 解釋: uint8_t * 類型的參數與 const char * restrict 類型的參數不兼容。 參數傳遞時, 不同 類型的警告。 影響:可能提高代碼的 bug 率。 改正:首先避免這樣做,其次如果避不開要詳細檢查傳入的參數。 你前面是int 后面是char 看不能強制轉換一下。 |
這根本就不是sprintf的問題,而是c語言基本語法的問題。 |
這是我已經驗證過的,參考一下 void Send_TextAndData(char *txt,float Data_Send) //發送文本+數據 { char k[10]; //這里不能加code限定符,否則計算不正確,數組長度隨意,不出錯就可以 char a; sprintf(k,"%.1f",Data_Send); //把浮點數據分割成字符串,并存放在k數組中,"%.1f"的2f表示小數點后再顯示1位數,不顯示小數就是0f for(a=0;(k[a]!='\0');a++) { Send_Out_COM(k[a]); //發送 } } Data_Send是浮點整型通用的,用浮點是方便要顯示小數點的會自動輸出負號和小數點 |