【发布时间】:2019-05-29 21:26:23
【问题描述】:
我正在尝试编写一种dmx controller,因此我得到了RaspberryPi,现在我想编写一个程序来控制带有pi4j 的GPIO。这个想法是询问应该作为输出的 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)
【问题讨论】:
-
确切的错误信息是什么?
-
线程“main”java.lang.Error 中的异常:未解决的编译问题:类型不匹配:无法在 test.main(test.java:44) 处从 String 转换为 Pin
标签: java raspberry-pi3 dmx512 pi4j