新手入门
- 积分
- 5
- 金钱
- 5
- 注册时间
- 2016-3-17
- 在线时间
- 0 小时
|
1金钱
图中regval设置为0了,但是下面的位移跟或操作不是很懂是什么作用,有大神解答一下吗,代码 如下
void LCD_Scan_Dir(u8 dir)
{
u16 regval=0;
u16 dirreg=0;
u16 temp;
if((lcddev.dir==1&&lcddev.id!=0X6804&&lcddev.id!=0X1963)||(lcddev.dir==0&&lcddev.id==0X1963))//
{
switch(dir)/
{
case 0:dir=6;break;
case 1:dir=7;break;
case 2:dir=4;break;
case 3:dir=5;break;
case 4:dir=1;break;
case 5:dir=0;break;
case 6:dir=3;break;
case 7:dir=2;break;
}
}
if(lcddev.id==0x9341||lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510||lcddev.id==0X1963)//9341/6804/5310/5510/1963,ìØêa′|àí
{
switch(dir)
{
case L2R_U2D:
regval|=(0<<7)|(0<<6)|(0<<5);
break;
case L2R_D2U:/
regval|=(1<<7)|(0<<6)|(0<<5);
break;
case R2L_U2D:
regval|=(0<<7)|(1<<6)|(0<<5);
break;
case R2L_D2U
regval|=(1<<7)|(1<<6)|(0<<5);
break;
case U2D_L2R://′
regval|=(0<<7)|(0<<6)|(1<<5);
break;
case U2D_R2L://′
regval|=(0<<7)|(1<<6)|(1<<5);
break;
case D2U_L2R://
regval|=(1<<7)|(0<<6)|(1<<5);
break;
case D2U_R2L://
regval|=(1<<7)|(1<<6)|(1<<5);
break;
}
|
|