本帖最后由 lacfg 于 2013-7-19 10:25 编辑
矩阵键盘扫描,出现一个很奇怪的问题:
TRISC0=0; TRISC1=0;
TRISC3=0;
TRISC2=0;
TRISC4=1;
TRISC5=1;
TRISC6=1;
TRISC7=1;
RC0=1;
RC1=1;
RC2=1;
RC3=1;
//TRISC=0b11110000;
//PORTC|=0b00001111;
//PORTC&=(~((0b00000001)<<shifting_value));
switch(shifting_value)
{
case 0:
RC0=0;
RC1=1;
RC2=1;
RC3=1;
break;
case 1:
RC0=1;
RC1=0;
RC2=1;
RC3=1;
break;
case 2:
RC0=1;
RC1=1;
RC2=0;
RC3=1;
break;
case 3:
RC0=1;
RC1=1;
RC2=1;
RC3=0;
break;
default:
break;
}
如果是1个个操作引脚,会发生难以解释的现象,而选择操作PORTC端口,之后再1个个操作引脚则正常,谁能帮忙解释一下这是为什么??
|