Cypress技术论坛
直播中

叶恒

7年用户 221经验值
私信 关注
[问答]

优化阵列收到警告是怎么回事?

简单的问题,我已经看了几种不同的方式。有人能看一下下面的代码,帮助我理解我做错了什么吗?我收到下面的警告,数组不起作用。它必须是我看不到的简单的东西。如有任何帮助,将不胜感激。
“M0121:变量‘输入数组’的设置,但不使用[-WunUnt,但设置变量]
int()
{
It16X;
UIT8输入ADC;
UIT8 8 ADCL结果=0;
UIT8输入数组〔16〕;
UIT8输入通道=0;
CyGloalActuabess;/*启用全局中断。*/
AcdSARY1LSTART();
AdcSARYA1IrqLyEnable();
M44X写(1);/ /启用外部模拟多路复用器
在使用前(x和lt;3000)/ /延迟
X+;
x=0;
(;)
{
控件MultRex1x写(输入/通道);/ /设置通道外部多路复用器
(x和lt;3000)/ /转换前的延迟
X++;
x=0;
(输入通道& lt;16)//扫描例程
{
AdcSARYAR1SistCurror();//开始转换
如果(ADCX-SARYA 1- ISEN转换(AdCl SARYA 1WAItiTA FORY结果));
{
ADCl结果=ADCl SARYA 1OGETRESULT8();
输入数组[输入数据通道]=ADCL结果;
输入+通道+;
控件的输入(输入通道);
(x和lt;3000)/ /转换前的延迟
X+;
x=0;
}
}
} / /结束
} / /结束主

回帖(1)

王琳

2019-9-25 14:04:02
欢迎来到论坛,提姆。
警告是相当合理的:您将一个值分配给一个不是全局变量(函数main的本地变量),并且不再使用该值。如果没有强的优化编译,就没有效果,只是警告。当优化设置为“大小”或“速度”时,可以优化分配。
另一个陷阱:你的延迟回路是非常不确定的。更好地使用CyDelay.()或CyDelaySUs(),这两个文件都在“系统参考指南”(来自创建者“帮助””菜单中记录。
快乐编码
鲍勃
举报

更多回帖

发帖
×
20
完善资料,
赚取积分