谢谢ZLG的答复,看了一下,寄存器好像没设错<br /> 我的想法是<br /> 1,将Row端口设为输入端口,同时将端口置为高,将Col端口设为输出端口,同时置为低,然后读Row 端口得到一个状态值 RowData<br /> 2,Row& Col 方向反相,将Col端口设为输入端口,同时将端口置为高,将Row端口设为输出端口,同时置为低,然后读Col端口得到一个状态值ColData<br /> 3,两个状态值相加得到一个确定的按键扫描值 RowData+ColData = KeyData;<br /> <br /> 问题1:设置IOSET 、IOCLR 时,只有在IODIR 设为输出的时候才能有效,那么在第2条中,我想将Col设为输入端口,还想将Col设为高电平(这样按下的键是低电平,才能有效检测到),我应该怎么做,第一条同第二条。<br /> 问题2:我的按键扫描思想是否有逻辑错误,如果有错误,应该如何修正。
|