请指教!
/**************************************************
* 输入: uSY 要清除的行的行号 *
* uSX,uEX 分别是要清除的开始X和结束X坐标 *
* uSX,uEX,uSY参数的范围和前面的x,y一样 *
* 功能: 清除uSY行从uSX到uEX列 *
**************************************************/
/*void lcd_lineclr( uchar uSX, uchar uSY, uchar uEX )
{
uint iLcdAdd;
uchar uX,uY;
#ifdef _lcd
return;
#endif
//文本区清除
iLcdAdd=uSX+uSY*0x20;
for(uX=uSX;uX <=uEX;uX++)
{
lcd_busy();
LCD_DATA=((uchar *)&iLcdAdd)[1];
lcd_busy();
LCD_DATA=((uchar *)&iLcdAdd)[0];
lcd_busy();
LCD_CODE=0x24;
lcd_busy();
LCD_DATA=0;
lcd_busy();
LCD_CODE=0xc0;
iLcdADD++;
}
//图形区清除
iLcdAdd=uSX+uSY*0x100+0x800;
for(uY=0;uY <8;uY++)
{
lcd_busy();
LCD_DATA=((uchar *)&iLcdAdd)[1];
lcd_busy();
LCD_DATA=((uchar *)&iLcdAdd)[0];
lcd_busy();
LCD_CODE=0x24;
lcd_busy();
LCD_CODE=0xb0;
for(uX=uSX;uX <=USX;uX++)
{
do
{
uFlag=LCD_CODE;
}while(LCD_F3==0);
LCD_DATA=0x00;
}
lcd_busy();
LCD_DATA=0xb2;
iLcdAdd+=0x20;
}
}
发表时间:2003年4月8日15:08:25