发新帖我要提问
12
返回列表
打印
[51单片机]

初学者请教一个程序报错的问题

[复制链接]
楼主: fasm
手机看帖
扫描二维码
随时随地手机跟帖
21
fasm|  楼主 | 2015-12-22 10:54 | 只看该作者 回帖奖励 |倒序浏览
JY-DX-JY 发表于 2015-12-22 10:30
uchar *VOL_Uc[3]={Adr_Str2,Uc_Str,Out_Str};
我还是没弄明白你Uc_Str这个是什么意思?
这个数组是什么意 ...

if(Up_Flag==1) //将Up对应的7个Uc字符串存放到Uc_Str[7]中
{
uchar *Uc_Str[7]={Uc1_Str1,Uc1_Str2,Uc1_Str3,Uc1_Str4,Uc1_Str5,Uc1_Str6,Uc1_Str7};
}
else if(Up_Flag==2)
{
uchar *Uc_Str[7]={Uc2_Str1,Uc2_Str2,Uc2_Str3,Uc2_Str4,Uc2_Str5,Uc2_Str6,Uc2_Str7};
}
else if(Up_Flag==3)
{
uchar *Uc_Str[7]={Uc3_Str1,Uc3_Str2,Uc3_Str3,Uc3_Str4,Uc3_Str5,Uc3_Str6,Uc3_Str7};
}
//下面我想把Uc_Flag对应的那个UC字符串及地址和输出要求字符串放到一个指针数组中,方便从串口输出
//因为如果想要可编程电源输出你想要得电压,发送字符串格式如下:":ADR01;" 等待起码15ms;":VOL13.50;"等待//起码15ms;":OUT1;"等待起码15ms
uchar *VOL_Uc[3]={Adr_Str2,Uc_Str[i-1],Out_Str};

使用特权

评论回复
22
JY-DX-JY| | 2015-12-22 11:06 | 只看该作者
我明白你的意思了,可是你的程序写的,我真无语了。
uchar *VOL_Uc[3]={Adr_Str2,Uc_Str[i-1],Out_Str};
定义语句不能放在执行语句后面。
先定义,再赋值。你的程序问题大了。

使用特权

评论回复
23
fasm|  楼主 | 2015-12-22 11:57 | 只看该作者
JY-DX-JY 发表于 2015-12-22 11:06
我明白你的意思了,可是你的程序写的,我真无语了。
uchar *VOL_Uc[3]={Adr_Str2,Uc_Str,Out_Str};
定义语 ...

C89规定,在任何执行语句之前,在块的开头声明所有局部变量;
在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
单片机用C89么?

使用特权

评论回复
24
JY-DX-JY| | 2015-12-22 12:01 | 只看该作者
你自己看着办吧,我帮不了你了。

使用特权

评论回复
25
fasm|  楼主 | 2015-12-22 12:01 | 只看该作者
JY-DX-JY 发表于 2015-12-22 12:01
你自己看着办吧,我帮不了你了。

我知道了,谢谢!

使用特权

评论回复
26
fasm|  楼主 | 2015-12-22 12:34 | 只看该作者
用指针解决了,感谢大家的回帖,尤其是JY-DX-JY,我去看一下单片机C语言吧,再次感谢!

使用特权

评论回复
27
JY-DX-JY| | 2015-12-22 13:07 | 只看该作者
分都给我了,我都不好意思了。没帮到楼主什么忙。楼主加油吧,好好规范自己的代码。

使用特权

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

本版积分规则