GPIO_OutputMode Sabit Listesi
Üst bilgi: #include <applibs/gpio.h>
GPIO'nun çıkış modu seçenekleri.
GPIO'nun çıkış değeriGPIO_SetValue işlevi tarafından ayarlanır.
typedef enum {
GPIO_OutputMode_PushPull = 0,
GPIO_OutputMode_OpenDrain = 1,
GPIO_OutputMode_OpenSource = 2
} GPIO_OutputMode;
Değer
GPIO_OutputMode_PushPull
GPIO çıkış pin'ini düşük ve kaynaklar yüksek yönlendirildiğinde geçerli olacak şekilde yapılandırır. Davranış aşağıdaki tabloda özetlenmiş:
GPIO çıkış değeri | GPIO çıkış temelli olarak |
---|---|
GPIO_Value_Low | Mantıksal durum 0, geçerli havuz |
GPIO_Value_High | Mantıksal durum 1, geçerli kaynak |
SPI veya UART gibi tek yönlü bir arabirim GPIO çıkış pin'ine bağlı olduğunda bu modu kullanın. Bu mod, bir veri yolu yapılandırmasında birden çok cihazın birbirine bağlanmasına izin vermez.
GPIO_OutputMode_OpenDrain
GPIO çıkış pin'ini düşük olduğunda geçerli olacak şekilde yapılandırır; kaynak geçerli olamaz. Davranış aşağıdaki tabloda özetlenmiş:
GPIO çıkış değeri | GPIO çıkış temelli olarak |
---|---|
GPIO_Value_Low | Mantıksal durum 0, geçerli havuz |
GPIO_Value_High | Yüksek empedans (veya harici çekme direnci ile mantıksal durum 1) |
I2C gibi birden çok çift yönlü arabirim bir veri yolu yapılandırmasındaki GPIO çıkış pin'ine bağlandığında bu modu kullanın. Bağlı arabirimlerin tüm çıkışları yüksek empedans durumunda olduğunda, GPIO çıkış pini harici bir çekme direncine sahip bir mantık 1'e yönlendirilebilir. Bağlı arabirimlerden herhangi biri, açık boşaltma çıkışını kullanarak hattı 0 mantığına çekebilir.
GPIO_OutputMode_OpenSource
GPIO çıkış pin'ini yüksek bir değere yönlendirildiğinde geçerli olacak şekilde yapılandırır; geçerli havuza alamaz. Davranış aşağıdaki tabloda özetlenmiş:
GPIO çıkış değeri | GPIO çıkış temelli olarak |
---|---|
GPIO_Value_Low | Yüksek empedans (veya harici aşağı çekme direnci ile mantıksal durum 0) |
GPIO_Value_High | Mantıksal durum 1, geçerli kaynak |
Bu mod için iyi bilinen bir kullanım yoktur, ancak kullanmak isteyenler için kullanılabilir.