Keil 4 编译 LPC1788程序 float 使用 错误
时间:10-02
整理:3721RD
点击:
我使用Keil 4 编译LPC1788程序,代码如下
void ADC_1(void)
{
uint8 ad_num;
float temp;
temp = 1.00;
temp = (ad_num * 0.89) + 1.30;
}
编译下载后, 查看temp,发现值一直为1.855e-15, 赋值为1.00,或者初始化为0, 都一直为前者。
以前在 LPC1768时,一直使用float,也没出现这个 问题。 是因为片子不支持,还是我的keil 设置问题?
恳请各位老师帮忙,谢谢!
void ADC_1(void)
{
uint8 ad_num;
float temp;
temp = 1.00;
temp = (ad_num * 0.89) + 1.30;
}
编译下载后, 查看temp,发现值一直为1.855e-15, 赋值为1.00,或者初始化为0, 都一直为前者。
以前在 LPC1768时,一直使用float,也没出现这个 问题。 是因为片子不支持,还是我的keil 设置问题?
恳请各位老师帮忙,谢谢!
这是因为keil堆栈的字节未对齐导致的,在你开辟的堆栈前加入强制8字节对齐语句即可。可以查看temp分配的内存地址。
你的ad_num没有赋值就用于计算啊?
你的问题解决了吗,我也遇到同样的问题了