Я пытаюсь запрограммировать что-то вроде dmx controller
, поэтому я получил RaspberryPi
, и теперь я хочу написать программу для управления GPIO с pi4j
.Идея состоит в том, чтобы запросить GPIO, который должен быть выходным, сохранить его в int и повторно использовать его, чтобы сообщить pi4j
, какой GPIO я хотел бы использовать в качестве выходного.
Извините за плохой код :)
Я - носитель немецкого языка, поэтому println
на немецком языке.
System.out.println("GPIO des DMX Outputs :");
BufferedReader br_dmx_out = new BufferedReader(new InputStreamReader(System.in));
int dmx_out = Integer.parseInt(br_dmx_out.readLine());
System.out.println("Der DMX Output GPIO ist also GPIO " + dmx_out);
// GPIO Controll
String predef = ""+dmx_out;
/*
String def = MessageFormat.format("RaspiPin.GPIO_0{0}",predef);
System.out.println(def);
*/
Pin pin_dmx = "RaspiPin.GPIO_0"+ predef;
GpioController gpio = GpioFactory.getInstance();
GpioPinDigitalOutput dmx_output = gpio.provisionDigitalOutputPin(pin_dmx);
Нормально вы код:
GpioPinDigitalOutput dmx_output = gpio.provisionDigitalOutputPin (RaspiPin.GPIO_01);
Java говорит:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from String to Pin
at test.main(test.java:44)
Я также попробовал switch/case
, но это не будет
GpioController gpio = GpioFactory.getInstance();
switch(dmx_out)
{
case 2:
GpioPinDigitalOutput dmx_output = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_02);
break;
Ошибка Java:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
Duplicate local variable dmx_output
dmx_output cannot be resolved
dmx_output cannot be resolved
at test.main(test.java:59)