别的没仔细看,下面这个似乎有点问题? //**********************************// IO0DIR |=(ROW0|ROW1|ROW2|ROW3); // ROW控制口输出,注意此时COL也是输出!而且某键按下了,导致输出接输出了吧??? 这个语句写太早了! IO0SET |= (COL0|COL1|COL2|COL3); // COL set high IO0CLR |= (ROW0|ROW1|ROW2|ROW3); //ROW 设为0 执行完这行以后GPIO的输出电平是正确的
IO0DIR &=~(COL0|COL1|COL2|COL3); // COL控制口输入 执行完这行代码后,GPIO逻辑电平为0了,所以数据读不到了 //**********************************//
建议上面这段代码里,把最前面的那一句换到最后. |