打印
[技术讨论]

请教一个KEIL5的问题

[复制链接]
1253|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ssf621|  楼主 | 2022-5-16 09:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
ningling_21| | 2022-5-16 11:51 | 只看该作者
不是被优化了?

使用特权

评论回复
板凳
畅想天子| | 2022-5-16 12:11 | 只看该作者
本帖最后由 畅想天子 于 2022-5-16 13:16 编辑

void PCB_TemPerPro(void)
{
        uint8_t  i=0,temp=0,diff=0,counter_Last=0;
        for(;i<12;i++)
        {
                if(adc5_raw.adc_e<KTY82_ADC_VALUE)
                {
                        temp+=10;               
                }
        counter_Last =temp;       

        }
        if(i>=12)
        {
                temp=120;
                PCB_TemPer=120;
        }
        for(i=0;i<12;i++)
        {
                diff =(uint8_t)(KTY82_ADC_VALUE[i+1]-KTY82_ADC_VALUE/10);
                counter_Last+=(uint8_t)(adc5_raw.adc_e--KTY82_ADC_VALUE/diff);
                PCB_TemPer =counter_Last;
        }
按照楼主的代码整理的。总之,让人有些让人看不明白,究竟在表达什么意思?

839006281cbf5787b8.png (15.48 KB )

839006281cbf5787b8.png

使用特权

评论回复
地板
ssf621|  楼主 | 2022-5-16 14:52 | 只看该作者
畅想天子 发表于 2022-5-16 12:11
void PCB_TemPerPro(void)
{
        uint8_t  i=0,temp=0,diff=0,counter_Last=0;

温度传感器KTY82-220, 间隔10度电阻值, 求大概一个整数温度值

使用特权

评论回复
5
畅想天子| | 2022-5-16 15:03 | 只看该作者
ssf621 发表于 2022-5-16 14:52
温度传感器KTY82-220, 间隔10度电阻值, 求大概一个整数温度值

你写的程序for循环之后,已经使i=13,接下来你的if判断i>=12的情况。你的else语句是不是多余了?

使用特权

评论回复
6
binoo7| | 2022-5-16 16:44 | 只看该作者
重新编译一下吧

使用特权

评论回复
7
M馒头| | 2022-5-16 20:20 | 只看该作者
1、被编译器优化了
2、判断语句有问题

使用特权

评论回复
8
ddxx| | 2022-5-17 06:35 | 只看该作者
应该是优化掉了,按你的代码,只会执行代码33

使用特权

评论回复
9
laocuo1142| | 2022-5-17 08:12 | 只看该作者
估计被优化了,uint8_t  i=0加上volatile uint8_t  i;

使用特权

评论回复
10
sxy4517| | 2022-5-17 08:25 | 只看该作者
程序存在的问题:
1.temp有可能会溢出。
2.for循环后i==12,else语句不会执行。

使用特权

评论回复
11
dwdsp| | 2022-5-17 08:30 | 只看该作者
配置里C栏优化等级调为Level0试试

使用特权

评论回复
12
ROSHEN_007| | 2022-5-17 08:38 | 只看该作者
你这个函数最后执行后其实就是个赋值,只执行这块 如果优化等级高的话,就是个赋值语句,不会进行函数调用。

使用特权

评论回复
13
ssf621|  楼主 | 2022-5-18 08:37 | 只看该作者
谢谢以上各位兄弟的回复,代码确实有问题,公司搬家没仔细看,代码确实被优化了,问题已经解决了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

165

帖子

3

粉丝