sprintf 浮点数显示0.0
最近开发用了12位的ADC读取数据然后在LCD上显示,用的是C语言里面的库函数sprintf,再将结果显示到LCD上,但是只要是%f显示的都是0.000000不知道为什么。附上代码:
static void App_TaskADC (void *p_arg)
{
double a=0;
CPU_INT08U Buff[100];
while (DEF_TRUE)
{
sprintf(Buff,"ADC0:%f",3.3); //3.3浮点数测试
LCD_write_english_string(0,3,Buff); //测试是否在LCD上显示3.300000(在LCD结果显示0.000000)
OSTimeDlyHMSM(0, 0, 0,20);
sprintf((char *)Buff,"ADC1:%d",ADC_GetData(1));
for(;strlen(Buff)<9;)
strcat(Buff," ");
LCD_write_english_string(0,2,Buff);
OSTimeDlyHMSM(0, 0, 0,20);
}
}
请个为大侠帮帮小弟。谢谢!