本帖最后由 any012 于 2016-7-15 10:30 编辑
调试程序遇到问题。
程序走到adcValue[mearChalNum+1] = GetAdcDate();这一步不往下走了。
后来将mearChalNum通过串口输出出来,发现不为0,是个比较大的数,而adcValue[4]只是个存放4个8位数的数组。
mearChalNum是通过函数的参数传递过来的。
void GetTemptValue(u8 mearChalNum)
{
...
adcValue[mearChalNum+1] = GetAdcDate();
...
}
而主函数是这样的:
void main()
{
...
u8 ad7193ChalNum;
...
while(1)
{
...
GetTemptValue(ad7193ChalNum);
printf("\r\n\r\nad7193ChalNum: %d", ad7193ChalNum);
...
}
}
将主函数里u8 ad7193ChalNum;改成u8 ad7193ChalNum = 0;程序就可正常执行了。
----------------------------------------------------------------
印象中C语言的变量定义后默认是0吧?
|