比我我要操作PA0——PA8,我怎么才能一次操作这9个位而不影响PA9——PA15 的IO口!单片机我知道是P0=0x00,就是全部拉低,可是STM32 我试过用GPIOA->ODR=0x0000;可是这样也影响了高PA9——PA15,我就是想把PA0——PA8分离出来,并行操作,因为我要这九个位做并口做5*4键盘扫描程序!请高手帮忙解答,我用的是直接操作寄存器,我暂时不想学库函数操作,最好用直接操作寄存器的方法!谢谢了
这种方法,如果在操作GPIOA0——GPIOA8以后的其他位先操作了,比如先操作了GPIOA11=0;那我如果在|=的时候就会影响GPIOA11这个位啊!比如GPIOA->ODR|=0XFFFF,我先操作GPIOA11=0;这是temp=GPIOA->ODR=0XF8FF;这个时候我怎么|=啊?如果我|=了,在比如我要变成GPIOA->ODR=0XF8F0;那我是不是就要GPIOA->ODR&=0XFFF0;最后的结果是不是就是0XF8F0了?
追答|=的时候你把不需要改变的位设置成0就行了呗而不是1。