我想轉換通過測量壓力生成的數組。 所以我得到了一個整數數組,這樣,我將使用的10個樣本,但現在它結束時它可能會成爲20個值:uint16_t ADCsample[10]= { 245, 332, 124, 98, 5, 156, 68, 199, 2, 105}
將整數數組轉換爲char數組,每個整數每3位數
正如你所看到的數值範圍爲0-350,沒有負值。 ,我必須得到它像這樣的輸出:outputStr = {2,4,5,3,3,2,1,2,4,0,9,8,0,0,5,1,5,6,0,6,8,1,9,9,0,0,2,1,0,5}
因此,所有的整數值分隔,並放入新的數組,以便ADCsample[0] = {245}
變得outputStr[0-2] = {2,4,5}
。但是具有一位或兩位數字的樣本必須獲得值爲0的值,這是爲了使輸出具有恆定的長度。
例如:成爲outputStr[12-14]={0,0,5}
我需要通過發送這個數據到服務器只用短信,其中有160個字符或什麼的字符限制。所以我將不得不一次發送完整的outputStr。此外,所有的計算都是在微控制器MSP430G2553上完成的,因此它必須高效且不會佔用太多內存。
任何提示或代碼示例,以幫助我開始,我是一個真正的新手,所以我不知道內置庫的許多功能?我可以使用sprintf()或其他函數嗎?這會使用多少內存?
您需要實際字符'{'2','4','5','3','3','2',...},而不是特殊的不可打印字符'{2,4 ,5,3,3,2,...}',對吧? – dasblinkenlight
'帶'%03d'的sprintf' ..然後從每個中減去''0'。 –
@EugeneSh。對於只有500字節RAM的微控制器,'sprintf'可能有點太貴。 – dasblinkenlight