打印

带指针的外部函数调用有问题,帮我诊断下(附简化程序)

[复制链接]
1439|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
isbit|  楼主 | 2007-3-13 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文件1.c 
extern uint8  **;
extern uint8  Symbol;

extern void  WriteScreen(uint8 *DisplayData);  这个函数


    /*
    **********************************************************
    * 名称:TaskDISPLAYLCD()
    * 功能:测试flash的读 2007-3-10
    * 入口参数:pdata     任务初始化参数
    * 出口参数:无
    **********************************************************
    */
        void    TaskDISPLAY(void *pdata)
        {
            pdata  = pdata;
                        
       initLCDM();
    while(1)
    {
    IO0CLR = BEEP;
    OSTimeDly(OS_TICKS_PER_SEC / 5);
    IO0SET = BEEP;
    
    OSTimeDly(OS_TICKS_PER_SEC / 5);
    WriteScreen( **);              delayms(500);  这个函数出错
    
     }
}

文件2.c
void  WriteScreen(uint8 *DisplayData);


//-----------------------------------
// dispaly data (128x64)
//-----------------------------------
uint8  **[]={
0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,。。。。}


//-----------------------------------
// Write a Screen
//-----------------------------------
void WriteScreen(uint8 *DisplayData)    // DisplayData should be 164x64/8 = 1312byte
{
    uint8 TempData;
    uint8 i, j;
    for(i=0;i<8;i++)
        {
        SdCmd(0xb0 | i);    // select page 0~7
        SdCmd(0x10);        // start form column 4
        SdCmd(0x04);        // (2byte command)
         for(j=0;j<128;j++)
             {
             TempData=(*(DisplayData+(i*128)+j));
             SdData(TempData);
             }
        }
}

在文件1.c中把
extern void  WriteScreen(uint8 *DisplayData);  屏蔽后没错,但有警告
不明白为什么声明外部函数会出错?
请高手指点迷津谢谢!    

相关帖子

沙发
usbmcu| | 2007-3-13 22:45 | 只看该作者

试试

extern uint8  **[];

使用特权

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

本版积分规则

194

主题

959

帖子

1

粉丝