gpt4 book ai didi

c - 为什么 "lcd_puts"在 LCD 16*2 上不显示变量值?

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:40 24 4
gpt4 key购买 nike

我试图通过以下用 Codevision 编写的代码在 proteus 模拟器的 LCD 上显示一个值:

sprintf(buffer,"Temp=%f\xdfC\n",temp);
lcd_puts(buffer);

但是 temp 的值并没有出现在 LCD 的“temp=”前面!

enter image description here

整个代码是:

 #include <mega16.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>

char buffer[32];
float temp=26.3457;


void main(void){
lcd_init(16);

while(1){

lcd_clear();
sprintf(buffer,"Temp=%f\xdfC\n",temp);
lcd_puts(buffer);
delay_ms(1500);
}
}

最佳答案

需要将此参数添加到编译器:

-Wl,-u,vfprintf -lprintf_flt -lm

没有这个将被%f忽略

更多信息在 avr-libc documentation

关于c - 为什么 "lcd_puts"在 LCD 16*2 上不显示变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32560118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com