打印

HC908中指针定义为什么出错呀?

[复制链接]
1989|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
czhlcai|  楼主 | 2007-12-28 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想统一清HC908LK24中的LCD显示数据寄存器LDAT1-17,为什么下面的出错,“C1822:Type mismatch(expected"unsigned char *",given"int")??我就是把byte改成unsigned char 也还是出错.
#define LCD_DATA_START  0x52
#define LCD_DATA_END    0x62

void LCDclear(void)
{
    byte *LCDDataPointer;
    
    for(LCDDataPointer=LCD_DATA_START;LCDDataPointer<=LCD_DATA_END;LCDDataPointer++)
    {
       *LCDDataPointer = 0x00;
    }
}

相关帖子

沙发
张明峰| | 2007-12-28 10:45 | 只看该作者

不要用PC的思路写单片机的程序

#define LCD_DATA_START  (byte*)0x52
#define LCD_DATA_TOTAL  0x10

void LCDclear(void)
{
    byte *LCDDataPointer = LCD_DATA_START;
    byte i = LCD_DATA_TOTAL;
    
    while(i--)
    {
       *LCDDataPointer++ = 0x00;
    }
}

使用特权

评论回复
板凳
czhlcai|  楼主 | 2007-12-28 11:07 | 只看该作者

谢谢

谢谢,我改成下面了也行
    byte *LCDDataPointer;
    
    for(LCDDataPointer=&LDAT1;LCDDataPointer<=&LDAT17;)
        *LCDDataPointer++ = 0x00;
另外问一下,张老师
#define LCD_DATA_START  (byte*)0x52
是什么意思?不懂呀
我试了一下
byte *LCDDataPointer = (byte*)0x52;
也能通过。

使用特权

评论回复
地板
czhlcai|  楼主 | 2007-12-28 11:33 | 只看该作者

又出新问题了

通过编译后,在主程序中调用LCDClear();
出现"C4301:inline expansion done for function call;"
这是什么意思?在帮助中找不到C4301??

使用特权

评论回复
5
czhlcai|  楼主 | 2007-12-29 08:49 | 只看该作者

问问

#define LCD_DATA_START  (byte*)0x52
(byte)是强制转换成字符型,(byte *)是强制转换成字符型指针吗?

使用特权

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

本版积分规则

43

主题

136

帖子

0

粉丝