Al trabajar con Java ME para dispositivod embebidos, especialmente Raspberry PI, se puede encontrar con este error:
java.lang.UnsupportedOperationException: Incompatible direction
- com/oracle/deviceaccess/gpio/impl/GPIOPinImpl.setDirection(), bci=96
- org/andrexweb/Main.startApp(Main.java:60)
- javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
- com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
- com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=264
- com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
- com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
- com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=132
- com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
Este error resulta de aplicar la propiedad "gpio4.setDirection(GPIOPin.OUTPUT);" a un GPIO, Java ME trae preconfigurado los GPIO (ver: Device I/O Preconfigured list), ejemplo el GPIO 4, trae como direccion INPUT, es decir que es solo entrada, pero lo vamos a usar para OUPUT salida, entonces tenemos que hacer lo siguiente:
GPIOPinConfig gPIOPinConfig4 = new GPIOPinConfig(0, 4, GPIOPinConfig.DIR_OUTPUT_ONLY, GPIOPinConfig.MODE_OUTPUT_PUSH_PULL, GPIOPinConfig.TRIGGER_BOTH_EDGES, false);
GPIOPin gpio4 = (GPIOPin) DeviceManager.open(gPIOPinConfig4);
gpio4.setDirection(GPIOPin.OUTPUT);
De esta forma configuramos el GPIO, como se requiere.
No hay comentarios:
Publicar un comentario