21ic电子技术开发论坛
标题:
打印浮点类型
[打印本页]
作者:
ousj
时间:
2022-3-6 19:54
标题:
打印浮点类型
PIC16F系列MCU用printf函数调试程序时能否打印浮点类型,如果能需要怎样配置?
作者:
dingy
时间:
2022-3-6 19:56
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
作者:
ousj
时间:
2022-3-6 19:59
例如 printf("a = %f\r\n",a); a是浮点型,当是%f编译就会出错,改为%d就能正常编译
作者:
huangchui
时间:
2022-3-6 20:02
报错信息?
作者:
ousj
时间:
2022-3-6 20:04
0:: error: (1347) can't find 0x22F words (0x22f withtotal) for psect "text20" in class "CODE" (largest unused contiguous range 0x208)
作者:
ousj
时间:
2022-3-6 20:06
Non line specific message::: advisory: (1493) updated 32-bit floating-point routines might trigger "can't find space" messages appearing after updating to this release; consider using the smaller 24-bit floating-point types
作者:
huangchui
时间:
2022-3-6 20:08
包含头文件#include <stdio.h> 试试看?
作者:
zhenykun
时间:
2022-3-6 20:10
#include <math.h>
#include <stdio.h>
/* Print acos() values for -1 to 1 in degrees. */
void
main (void)
{
float i, a;
for(i = -1.0; i < 1.0 ; i += 0.1)
{
a = acos(i)*180.0/3.141592;
printf(“acos(%f) = %f degrees\n”, i, a);
}
}
参考这个例子看看?
作者:
yszong
时间:
2022-3-6 20:14
对,
参考这个例子看看?
作者:
ousj
时间:
2022-3-6 20:17
这个肯定是包含过的
作者:
stly
时间:
2022-3-6 20:20
用%d的时候编译没错?
作者:
chenho
时间:
2022-3-6 20:22
怀疑是不是不支持浮点
作者:
dingy
时间:
2022-3-6 20:24
输出信息已经写了,使用24位浮点类型
作者:
ousj
时间:
2022-3-6 20:28
果然:
consider using the smaller 24-bit floating-point types
作者:
supernan
时间:
2022-3-6 20:30
设置使用24位浮点类型:
把下面连接选项加到 XC8 Linker中
-fshort-float
Project properties -> XC8 Linker -> Additional options: -fshort-float
选择C90库
Link in C Library -> C90
测试代码:
float x = 2.2;
printf("%f",x);
加入main.c中
作者:
dengdc
时间:
2022-3-6 20:32
高效!!
作者:
jiajs
时间:
2022-3-6 20:34
printf("a = %f\r\n",a); a是浮点型,当是%f编译就会出错,改为%d就能正常编译。
作者:
ousj
时间:
2022-3-6 20:36
嗯,我再好好缕一缕吧,有了好消息及时通知大家
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)
Powered by Discuz! X3.5