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 字符串结尾符,所以在使用中多余的长度不会影响实际输出结果。

发布了23 篇原创文章 · 获赞 5 · 访问量 1846

猜你喜欢

转载自blog.csdn.net/QQ275176629/article/details/94389651
今日推荐