115kbaud에서 통신하는 Arduino가/dev/ttyUSB1에 있습니다. 아래 문장은 Pharo가 멈추는 '다음번'메소드 호출까지 제대로 작동합니다. Arduino는 한 문자 $ 1을 컴퓨터로 다시 보냄으로써 '99'명령에 응답합니다. 케이블을 꺼내면 프로그램이 계속 진행되고 케이블에 $ 1 문자가 포함되어 있지만 케이블을 꺼낼 때까지는 포함되지 않습니다. 그래서 그것은 다음 바이트가 단지 하나의 바이트를 읽은 후에 리턴하지 않는다는 느낌입니다. (물론, 싱글 바이트를 읽은 후에 리턴해야한다는 것은 아무것도 없습니다.) Pharo의 스트림에서 단일 바이트를 읽으려면 어떻게해야합니까? 또는 읽기/쓰기 바이트 스트림을 어떻게 열 수 있습니까? 나는 이것을하는 것처럼 보이는 소스 클래스에서 아무 것도 발견하지 못했다. 스트림을 아스키, 바이너리, 텍스트로 설정하려고 시도했지만 동작을 변경하지 않습니다.Pharo : Arduino 직렬 포트에서 바이트 읽기
s := FileStream oldFileNamed: '/dev/ttyUSB1'.
s readWrite.
s nextPutAll: '99'. "'99' is successfully received by Arduino"
s next. "hangs here"
s close.
도움 주셔서 감사합니다.
가! 한 문장의 disableReadBuffering을 추가하면 작업이 시작됩니다. 감사! – Jeff