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

[复制链接]
2416|4
 楼主| czhlcai 发表于 2007-12-28 10:19 | 显示全部楼层 |阅读模式
我想统一清HC908LK24中的LCD显示数据寄存器LDAT1-17,为什么下面的出错,“C1822:Type&nbsp;mismatch(expected&quot;unsigned&nbsp;char&nbsp;*&quot;,given&quot;int&quot;)??我就是把byte改成unsigned&nbsp;char&nbsp;也还是出错.<br />#define&nbsp;LCD_DATA_START&nbsp;&nbsp;0x52<br />#define&nbsp;LCD_DATA_END&nbsp;&nbsp;&nbsp;&nbsp;0x62<br /><br />void&nbsp;LCDclear(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;byte&nbsp;*LCDDataPointer;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(LCDDataPointer=LCD_DATA_START;LCDDataPointer&lt=LCD_DATA_END;LCDDataPointer++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*LCDDataPointer&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}
张明峰 发表于 2007-12-28 10:45 | 显示全部楼层

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

#define&nbsp;LCD_DATA_START&nbsp;&nbsp;(byte*)0x52<br />#define&nbsp;LCD_DATA_TOTAL&nbsp;&nbsp;0x10<br /><br />void&nbsp;LCDclear(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;byte&nbsp;*LCDDataPointer&nbsp;=&nbsp;LCD_DATA_START;<br />&nbsp;&nbsp;&nbsp;&nbsp;byte&nbsp;i&nbsp;=&nbsp;LCD_DATA_TOTAL;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(i--)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*LCDDataPointer++&nbsp;=&nbsp;0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />
 楼主| czhlcai 发表于 2007-12-28 11:07 | 显示全部楼层

谢谢

谢谢,我改成下面了也行<br />&nbsp;&nbsp;&nbsp;&nbsp;byte&nbsp;*LCDDataPointer;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(LCDDataPointer=&LDAT1;LCDDataPointer&lt=&LDAT17;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*LCDDataPointer++&nbsp;=&nbsp;0x00;<br />另外问一下,张老师<br />#define&nbsp;LCD_DATA_START&nbsp;&nbsp;(byte*)0x52<br />是什么意思?不懂呀<br />我试了一下<br />byte&nbsp;*LCDDataPointer&nbsp;=&nbsp;(byte*)0x52;<br />也能通过。<br />
 楼主| czhlcai 发表于 2007-12-28 11:33 | 显示全部楼层

又出新问题了

通过编译后,在主程序中调用LCDClear();<br />出现&quot;C4301:inline&nbsp;expansion&nbsp;done&nbsp;for&nbsp;function&nbsp;call;&quot;<br />这是什么意思?在帮助中找不到C4301??
 楼主| czhlcai 发表于 2007-12-29 08:49 | 显示全部楼层

问问

#define&nbsp;LCD_DATA_START&nbsp;&nbsp;(byte*)0x52<br />(byte)是强制转换成字符型,(byte&nbsp;*)是强制转换成字符型指针吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

136

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部