[ad_1]
Python
#!/usr/bin/python import serial import sys import tty import termios import select fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) tty.setraw(sys.stdin.fileno()) if len(sys.argv) <= 1: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) print("provide interface as arguments (e.g. /dev/ttyACM0)") sys.exit() ser = serial.Serial(sys.argv[1], 115200, timeout = 0.5) def readSerial(): try: readOut = ser.readline().rstrip() if readOut: print('\r'+readOut) except: pass def printmenu(): print ("\r\n1-Version 2-subscribe 3-start 4-vend0.5 5-vend0 6-stop 0 to stop\r") printmenu() while True: rlist, wlist, elist = select.select([sys.stdin,ser], [], [],0.55555) if sys.stdin in rlist: c = sys.stdin.read(1) if c=="1": print("--> version") ser.write(b'V\n') elif c=="2": print("\r\n--> start emulation") ser.write(b'C,SETCONF,mdb-addr=0x10\n') ser.write(b'C,SETCONF,mdb-currency-code=0x1756\n') ser.write(b'C,1\n') elif c=="3": print("\r\n--> start with 10") ser.write(b'C,START,10.0\n') elif c=="4": print("\r\n--> vend 0.5") ser.write(b'C,VEND,0.5\n') elif c=="5": print("\r\n--> vend 0") ser.write(b'C,VEND,0\n') elif c=="6": print("\r\n--> stop") ser.write(b'C,0\n') elif c=="0": break else: printmenu() elif ser in rlist: readSerial() termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
私が試したこと:
誰かがこのpythonの小さなスクリプトをJavaに変換する方法を教えてください
解決策 1
しないでください。 言語を変換しても、ターゲット言語で高品質のコードが生成されることはありません。
代わりに、そのコードを Java バージョンの「仕様」として使用し、Java が同じ機能を実行するように機能する新しいコードを設計します。 Python と Java はフレームワークを共有していないため、Pythin で機能するものは Java では機能しません。その逆も同様です。
[ad_2]
コメント