我是初学Arm.在使用arm的通用I/O口时遇到些问题. 1,s3c44box中每个I/O口都有PDATx数据寄存器。我想知道的是,当I/O口作为输出时,我住数据寄存器写入数据后再读出,是否是原值?我写过代码,似乎不是。不知道ARm和51相比,它是如何处理的。51的话,向I/O口写入数据后,再读,可以分为读引脚,也可以是读寄存器。 2,我写了一些代码,其中有if( rPDATG & 0x10 ==0 ){}.rPDATG是端口G的数据输入输出寄存器。但运行时,却发现无论端口的信号如何,似乎if的判断总不正确,是不是非得定义一个临时变量,将rPDATG的值给变量后,再以变量的值作为判断标准?
|