This question already has answers here:
How to set and clear different bits with a single line of code (C)
                                
                                    (2个答案)
                                
                        
                                3年前关闭。
            
                    
我最近开始学习有关IAR嵌入式工作台8051的知识。嗯,我目前仅在玩LED。我正在使用CC2540 BLE芯片来执行此操作。假设我有8个LED引脚,但我只想控制2个引脚而不影响其他6个引脚,如何使用按位运算符对其进行编码?我使用此代码P1SEL = 0;设置了GPIO的所有引脚,我的朋友告诉我,如果键入此类代码会影响其他引脚。如果我声明为P1SEL = 0xFC;怎么办?其他人会受到影响吗?

最佳答案

实际上,您可以使用&和|设置一个特定的位。

P1SEL = P1SEL & (~(1 << i)) // set bit i to 0
P1SEL = P1SEL | (1 << i)    // set bit i to 1

关于c - 如何在不影响其他引脚的情况下仅使用2个引脚? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40393599/

10-12 07:40