Guten Morgen,
ich versuche aktuell, mich mit den GPIO Funktionalitäten besser vertraut
zu machen. Dafür probiere ich aktuell an einer 7-Segment Anzeige rum,
dafür sollte der ESP8266 12-F eigentlich genügend frei verfügbare Pins
haben, dachte ich!
Aber irgendwie mag GPIO14 und GPIO15 nicht. Ich setze mit
die Pins als GPIOs:
1 | void initGPIOs(void){
|
2 | gpio_init();
|
3 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
|
4 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
|
5 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);
|
6 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
|
7 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
|
8 | PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0);
|
9 | }
|
(zu Pin16 gibt es in der "eagle_soc.h" keinen Eintrag).
Aktuell sind die Segmente an diesen Pins angeschlossen:
1 | #define A BIT15
|
2 | #define B BIT16
|
3 | #define C BIT0
|
4 | #define D BIT14
|
5 | #define E BIT5
|
6 | #define F BIT4
|
7 | #define G BIT2
|
Alle außer BIT15 und BIT14 funktionieren. BIT16 lässt sich außerdem gar
nicht ausschalten, sondern ist immer auf high. Woran kann das liegen?