0
호스트와 스캐너라는 두 개의 모듈이 있습니다. 둘 다 무한정 반복되어 직렬 포트와 통신합니다. 나는 "bestchannel"변수를 스캐너에서 호스트로 가져오고 싶지만 가져 오기를하면 스캐너 내부의 while 루프가 먼저 실행되고 루프가 영원히 돌아갑니다. 각 모듈을 개별적으로 실행하고 실시간으로 서로 다른 데이터를 보낼 수 있기를 바랍니다. 이것이 가능한가?Python : 무한 루프 내에서 변수 가져 오기
(스캔 램의 외부)
샘플 코드 :
Host Loop----------------------------------------------
while True:
ser.write(assemble("20","FF","FF","64","B"))
sData = ser.read(100)
if len(sData)>0:
for i in range(0, len(sData)-17):
if sData[i]==chr(1) and sData[i+1]==chr(20) and sData[i+2]==chr(int("A1", 16)):
height = (ord(sData[i+16])*256+ord(sData[i+17]))/100
print "Sensor ", ord(sData[i+12]), " is returning height ",
height, "mm. The minnoisechan:",minchannel
Scanner Loop----------------------------------------------
while True:
ser.write(scan("FF", "FF", str(scanlength))) #Channel Mask, Length
time.sleep(scanlength+2.0)
sData = ser.read(100)
if len(sData)>0:
for i in range(0, len(sData)-16):
if sData[i]==chr(1) and sData[i+1]==chr(23) and sData[i+2]==chr(int("C5", 16)):
for j in range(0, 16):
chan[j] = sData[i+5+j]
print "channel: ",j+11,"=",ord(chan[j])
if ord(chan[j])<minvalue:
minvalue=ord(chan[j])
minchannel=j+11
count+=1
print "count",count,"minvalue:",minvalue,"minchannel:",minchannel
minvalue=999
나는 호스트에 액세스 할 수 있도록 스캐너에서 minchannel를 원한다.
샘플 코드가 답변에 링크 또는 아래에 있습니다. 죄송합니다. 다른 브라우저를 사용해야했습니다.
어떤 코드도없이, 두 번째 모듈을 실행하기 위해 스레드를 사용하고 있습니까? 기존 코드가 있다면 그것을보고 싶습니다. – spade78
당신이하고있는 일을 명확히하기 위해 몇 가지 샘플 코드를 추가하십시오. –
안녕하세요 - 게시 한 코드를 선택한 다음 '{}'괄호로 버튼을 눌러 코드로 읽을 수 있습니다. – bgporter