模块中的数组值怎么传递出来给其他部分使用呢

2019-07-16 06:10发布

我初学C51,很多都不熟悉,望各位不吝赐教啊
我用DS12C887和STC89C52做一个时钟,做到一个C程序中好做一些,如果是分出模块来的话,把DS12C887做成独立的一个模块,然后再模块中读取时间,然后在主程序中获取模块里读取的时间值,程序是我自己想的,思路有不对的也请指正;我在DS12C887的模块中使用了一个函数
uchar ds_r_tim(uchar *p)
{
         uchar a[5];
         a[0] = XBYTE[0x8000];
         a[1] = XBYTE[0x8002];
         a[2] = XBYTE[0x8004];
         a[3] = XBYTE[0x8007];
         a[4] = XBYTE[0x8008];
         a[5] = XBYTE[0x8009];
         p = a;
         return *p;
}

我想把模块离得函数的返回指针P的值在主函数中赋值给主函数中定义的一个数组DS_TIM[5]的首地址指针值。
DS_TIM = &(uchar ds_r_tim(uchar *p))
这样DS_TIM[5]就能够读出时间值了。

这种想法对吗?如果错误的话,像这种模块中的一组数值,应该怎么传递到其他模块中呢?谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。