STM32 中 ADC 數據到 float 浮點數的轉化與顯示方法

STM32 中 ADC 數據到 float 浮點數的轉化與顯示方法

STM32 自帶一個或多個 12bit 24通道 ADC,足夠一般場合使用,但是使用過程中會遇到採集與顯示的細節問題。我目前是用的 LCD 來顯示,但是LCD驅動中並沒有 float 浮點數顯示函數,但是有字符串顯示功能,所以我們可以利用這個來實現所需的功能:
void LCD_ShowString(uint16_t x,uint16_t y,uint16_t width,uint16_t height,uint8_t size,char *p);

在實際使用中通常會發現文本的格式化是一件比較繁瑣的事,實際上。。。菜是原罪。用好c語言的stdio.h庫,基本就沒有這些問題。

實現思路
我們首先定義一個字符串,用於存儲結果浮點數。

/* ADC 的轉換數值 */
char ADC_FLOAT_VALUE[20];

然後直接調用 sprintf(char* p,const char* pattern,...)進行格式化即可

sprintf(ADC_FLOAT_VALUE,"%f",float_val);

這樣便得到了浮點數的字符串結果。


字符串可以保留較長的長度,由於格式化會自動插入 \0 字符串結尾符,所以在使用中多餘的長度不會影響實際輸出結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章