houyawei 发表于 2025-2-28 12:25:03

AI分析代码问题好厉害

<p>我只会看看demo,改改demo。</p>
<p>把问题跑给他,copilot会马上分析给出解决方法,包括添加注释,格式化代码,找出问题。</p>
<p>这是源代码,屠龙刀上面的NTC demo</p>
<pre><code>#define   Vref   2.5
float CalculationTemperature(u16 adc)
{
    float Temperature=0.0;
    float R2=0.0;
    float R1=10000.0;
    float T2=298.15;//273.15+25;
    float B=3435.0;
    float K=273.15;
    float R2V=0.0;

    R2V=(adc*(Vref/4096));    //12位ADC
    R2=(R2V*R1)/(Vref-R2V);
    Temperature=1.0/(1.0/T2+log(R2/R1)/B)-K+0.5;

    return Temperature;
}

</code></pre>
<p>参考电压改到5V,B值变了,NTC电阻改成5K的了,都修改了。</p>
<p>但是我没把计算公式里面的10K改成5K,导致算出的值一直是错的</p>
<p>这是AI改的</p>
<pre><code>#define Vref 5.0

float CalculationTemperature(u16 adc)
{
    float Temperature = 0.0;
    float R2 = 0.0;
    float R1 = 10000.0; // ADC 电路中的 10K 电阻
    float T2 = 298.15; // 273.15 + 25, 25°C in Kelvin
    float B = 3470.0;// B 值
    float K = 273.15;
    float R2V = 0.0;

    R2V = (adc * (Vref / 4096)); // 12 位 ADC
    R2 = (R2V * R1) / (Vref - R2V);
    printf(&quot;Rntc=%f Ω\r\n&quot;, R2);

    Temperature = 1.0 / (1.0 / T2 + log(R2 / 5000.0) / B) - K; // 使用 5K NTC 电阻

    return Temperature;
}
</code></pre>
<p>最后测试,计算结果正确</p>
<p><img src="data/attachment/forum/202502/28/122358lwhh3phipa88paat.png" alt="微信图片_20250228122336.png" title="微信图片_20250228122336.png" /></p>

haiyang201 发表于 2025-2-28 14:53:39

简单的计算和驱动,AI这玩意还是很厉害的

wan123456 发表于 2025-3-2 20:34:37

简单的应用还可以,涉及到复杂的就得一点点的改了

feiyu 发表于 2025-4-19 04:44:12

简单算法外设配置啥的还行,都是固定有答案的东西,,一旦涉及到业务逻辑层面的就不行了

houyawei 发表于 2025-4-24 16:42:30

feiyu 发表于 2025-4-19 04:44
简单算法外设配置啥的还行,都是固定有答案的东西,,一旦涉及到业务逻辑层面的就不行了 ...

尤其是嵌入式还要结合硬件设计,不过已经很方便了,有时候写着写着就会猜测你的逻辑,问你是否需要填充代码了

aa520520 发表于 7 天前

试试corsor,tab更智能

小涵子爸爸 发表于 7 天前

经常用豆包找错误,比deep seek更准确

jovewang 发表于 6 天前

怎么提交资料,让AI生成源代码?
有没有完整的资料,指导一下?
页: [1]
查看完整版本: AI分析代码问题好厉害