dz60 cw6.3
下面是2个子函数,在主函数里面调用ReverseShowChar 时候 ReverseShowChar(6,7);
1.仿真进入子函数时候发现lin =6;column =141???之前有时候lin =148; column =148
2.子函数里面的变量dat,提示灰色的not allocated ??
这两个问题都没有报错,但是计算的结果不对啊
//反显一个字符
//lin:行(0-7), column: 列(0-15)
void ReverseShowChar(uchar lin,uchar column)
{
uchar i,dat;
uint StartAddr;
StartAddr=(column+2)*32+lin+0x0800;
for(i=0;i<15;i++)
{
LCD_WriteTCommand3(LCD_ADR_POS,(uchar)(StartAddr),(uchar)(StartAddr>>8)); //set address
LCD_WriteTCommand1(0xc5); //数据一次读,地址不变
dat=readdata(); ////数据读出函数
dat=(0xff-dat); //取反
LCD_WriteTCommand2(0xc4,dat); //送回
StartAddr=StartAddr+LineChar;
}
}
//数据读出函数
uchar readdata()
{
uchar onedata;
st01();
PTDDD=0x00;PTDPE=0xff;
LCD_CD=0;
LCD_RD=0;
onedata=PTDD;
LCD_RD=1;
PTDDD=0xff;PTDPE=0x00;
return onedata;
}
|