Ich habe eine Energenie RF-Sender-Zusatzkarte, die auf den Raspberry Pi-Header passt (weitere Informationen finden Sie unter https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf ). Mit dieser Karte kann der Raspberry Pi bis zu 4 Energenie-Funksteckdosen steuern. Ich habe es erfolgreich auf einem Raspberry Pi B zum Laufen gebracht, auf dem Raspbian ausgeführt wird, mit einem einfachen Python-Skript, um die verwendeten 6x GPIO-Pins zu drehen. Die verwendeten GPIO-Pins sind:
- GPIO17 (Header Pin 11)
- GPIO27 (Header Pin 13)
- GPIO22 (Header Pin 15)
- GPIO23 (Header Pin 16)
- GPIO24 (Header Pin 18)
- GPIO25 (Header Pin 22)
Ich habe Windows 10 IoT auf Raspberry Pi 2 ausprobiert und es erfolgreich geschafft, eine grundlegende blinkende LED mit GPIO5 (Header-Pin 29) auszuführen, was beweist, dass GPIO funktioniert, und bestätigt, dass die Windows GPIO-API anstelle der logischen GPIO-Nummerierung verwendet physikalische Pin-Nummerierung.
Ich versuche jetzt, das Energenie-Board mit Windows 10 IoT zu verwenden und habe ein Problem mit GPIO17 (Header-Pin 11). Ich benutze den folgenden Code, um einen Pin zu öffnen:
private GpioPin openPinForOutput(GpioController gpioController, int pinNumber)
{
if (gpioController == null)
{
Debug.WriteLine("GPIO Controller is null");
return null;
}
GpioPin pin = null;
GpioOpenStatus status = GpioOpenStatus.PinOpened;
bool success = gpioController.TryOpenPin(pinNumber, GpioSharingMode.Exclusive, out pin, out status);
Debug.WriteLine("GPIO pin {0} status: {1}", pinNumber, status);
return pin;
}
Wenn ich diese Methode für die erforderlichen GPIO-Pins aufrufe, erhalte ich die folgende Ausgabe:
GPIO pin 17 status: PinUnavailable
GPIO pin 22 status: PinOpened
GPIO pin 23 status: PinOpened
GPIO pin 27 status: PinOpened
GPIO pin 24 status: PinOpened
GPIO pin 25 status: PinOpened
Ich habe mir dann GPIO17 (physischer Pin 11) genauer angesehen und festgestellt, dass laut https://ms-iot.github.io/content/en-US/win10/samples/PinMappingsRPi2.htm der physische Pin 11 laut SPI1 CS0 ist .
Gibt es eine Möglichkeit, den physischen Pin 11 als GPIO17 in Windows 10 IoT zurückzugewinnen, oder stecken wir nur fest, dass er permanent für SPI1 CS0 konfiguriert ist?