2009年4月21日 星期二

在Arduino下將數字(int)轉字元(char)的方法

因為想把數值利用1602 lcd顯示, 結果lcd4bit只提供printIn(char*)的函數, 只好找將int轉char的方法.

很久沒用c或c++來寫程式了, 用慣了方便的java, 再回頭都不會寫c程式了, 再加上arduino的限制, 簡值不知要如何下手, 還好這些問題不是什麼艱難問題,隨便找了一下就找到答案了,原來還是可以用atoi() 及itoa()的 function, 奇怪, 我一直以為只有官方手冊上列的那些函數才可以用, 看樣子一些c的函數也是可以用的樣子, 不過似乎size是最大的關鍵, 看到sprintf也可以用, 但要加上1.5k的size, 哇, 程式才2k多, 加用一個sprintf()竟然要多1.5k, 看起來這應該是要改寫程式習慣的最大不同處吧...

參考網址如下:
n00bie qustion about converting INT to CHAR

example:
----------------------------------------------------------------------------------------------------------------
char value2[4] ;

int value1 = analogRead(analogpin0); // reads the value 0-1023
delay(100); // this small pause is needed between reading two

lcd.clear();
itoa (value1, value2, 10);
lcd.printIn(value2);

沒有留言:

張貼留言