很急,我用keil写一个C语言子函数,去调用数组,怎么写,例如
例如uchardada[5]={0xFF,0xFF,0XFF,0xFF,0XFF};voidwrite(*prt)//子函数{uchari;for(i=0;i<5;i++...
例如
uchar dada[5]={0xFF,0xFF,0XFF,0xFF,0XFF};
void write(*prt)//子函数
{
uchar i;
for(i=0;i<5;i++)
{
prt[i];
......
}
}
main()//主函数
{
write(dada);//调用子函数
}
这样对吗?
编译的时候语法没出现错误,也没警告,可是用示波器看到输出的数据都是00
请高手指点!!!
请写个例程,给我看看。谢谢了...感激 展开
uchar dada[5]={0xFF,0xFF,0XFF,0xFF,0XFF};
void write(*prt)//子函数
{
uchar i;
for(i=0;i<5;i++)
{
prt[i];
......
}
}
main()//主函数
{
write(dada);//调用子函数
}
这样对吗?
编译的时候语法没出现错误,也没警告,可是用示波器看到输出的数据都是00
请高手指点!!!
请写个例程,给我看看。谢谢了...感激 展开
2个回答
展开全部
可以这样调,你直接传入了dada数组的地址,注意,你在void write(*prt) 里只要改变了prt[i]的值,dada[i]也是会跟着变的,因为这两个指针指的都是同一块内存,这个初学者很容易犯错。你要用示波器看,要注意延时,单片机在12M晶振下,2us一条指令,很快的。
更多追问追答
追问
能不能写个例程看看?我是语言白痴来的...谢谢了
追答
uchar dada[5]={0x01,0x02,0X03,0x04,0X05};//我改小是为了不让它们相加溢出
void write(*prt)//子函数
{
uchar i;
uchar a=0;//////////////////////////////////////////////////////////
for(i=0;i<5;i++)
{
a+=prt[i];
......
}
}
main()//主函数
{
write(dada);//调用子函数
}
自己去运行,看看变量的值对不对。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询