在2.2小节中的“函数文档”部分很多函数都提到了“selectedPins是所选端口上的管脚。其掩码值可以是GPIO_PIN0、GPIO_PIN1、GPIO_PIN2……GPIO_PIN15等十六个值的逻辑或。该函数是通过修改寄存器PxOUT的位实现,返回值 None(空)。”这里我有些不明白。
我的理解是selectedPins应该是0~15个pin中的某一个,但是这里说的“掩码值”指什么呢?是“十六个值的逻辑或”?那我的理解是GPIO_PINn(n=0~15)就是16位的寄存器,selectedPins是几就在那一位上置1,最后将16个寄存器的16位值逻辑或,得到一个寄存器的16位表示,第几位是1就表示第几个pin被选。
比如说selectedPins=pin0,那GPIO_PIN0=0x1000_0000_0000_0000,其余的GPIO_PIN=0x0000_0000_0000_0000.
但是如果真是这样的话,感觉好浪费寄存器。我的理解是不是不对啊? |