OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3394|回复: 3

内存溢出

[复制链接]

13

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2017-4-21
在线时间
52 小时
发表于 2017-5-5 15:24:49 | 显示全部楼层 |阅读模式
10金钱
代码:
#include "stm8s.h"
#include "stm8s_adc1.h"
#include <stdio.h>
#include <string.h>
#include <math.h>

void ADC_Init(void);

int main(void)
{

    float Vad = 0.0;
    float Res = 0.0;
    float a   = 10000.0;
    float b   = 0.0;
    float c   = 0.0;
    float d   = 0.0;
    float e   = 0.0;
    float Tem = 0.0;
    float f   = 0.0;
    float g   = 0.0;
    float h   = 0.0;

  u16 Conversion_Value=0;
  FlagStatus ADCRdy = RESET;
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
  ADC_Init();

  while (1)
  {
        do
        {
            ADCRdy = ADC1_GetFlagStatus(ADC1_FLAG_EOC);
        }
        while(ADCRdy == RESET); // SET or RESET           
        Conversion_Value = ADC1_GetConversionValue();
        printf("Conversion_Value = %d\n",Conversion_Value);

        Vad = ((float)Conversion_Value * 5.0) /1023.0;
        printf("Vad = %lf\n",Vad);  
        Vad = Vad / 5;

        f   =  (Vad*10000.0);

        g   = (1-Vad);

        Res = f/g;

        a   = log(a);

        b   = log(Res);

        c   = (a - b)/4750.0;

        d   = 1.0/298.15;

        e   = d - c;

        Tem = 1/e;
        Tem = Tem - 273.15;
        printf("Tem = %lf\n",Tem);

  }
}

void ADC_Init(void)
{
   ADC1_DeInit();
   ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS , ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D18,\
   ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL0,DISABLE);
   ADC1_ITConfig(ADC1_IT_EOCIE,DISABLE);  
   ADC1_Cmd(ENABLE);
   ADC1_StartConversion();
}




编译出现问题

编译出现问题

最佳答案

查看完整内容[请看2#楼]

明显是你的FLASH空间不够了,浮点运算太多了,适当的优化看看能不能编译过
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

32

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3927
金钱
3927
注册时间
2015-11-14
在线时间
535 小时
发表于 2017-5-5 15:24:50 | 显示全部楼层
明显是你的FLASH空间不够了,浮点运算太多了,适当的优化看看能不能编译过
回复

使用道具 举报

557

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165001
金钱
165001
注册时间
2010-12-1
在线时间
2102 小时
发表于 2017-5-5 19:03:33 | 显示全部楼层
减少内存
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2017-5-28 10:27:06 | 显示全部楼层
printf这个老占内存了,并且用它还有自己准备好串口和底层函数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-25 13:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表