2015-02-06 1 views

답변

0

IDE 1.0 이전 + SoftwareSerial은 Rx 핀의 폴링이었습니다. 이것은 블록화되어 RX의 서비스를 계속 확인하고 전송 속도의 품질을 제한했습니다. NewSoftSerial이 PCint를 사용하여 이전의 Polled SoftwareSerial을 대체 한 이래로. 그러면 RX 핀 변경시 인터럽트가 생성 된 다음 시간이 확인됩니다. 이것은 더 이상 블로킹이 아니며 하드웨어 직렬 포트를보다 잘 에뮬레이션하고 서비스 (또는 폴링)를 덜 필요로합니다.

1. 이전 버전의 IDE의 SoftwareSerial로 돌아가서 이전 버전의 IDE에서 ATmega32를 사용하거나 포트를 포팅하려고 시도 할 수 있습니다. DEFINE 스위치가 폴링 모드에서 실행될 수있는 어딘가의 스위치를 본 것으로 생각했습니다. 그러나 현재 릴리스에서는 찾을 수 없습니다. 아마 릴리스 된 IDE로 만들지 않았을 것입니다.

또는 SoftwareSerial 대신 사용할 수 있습니다. 예 : tinyserial 2010 년으로 거슬러 올라가면 업데이트가 필요할 것입니다. 특히 1.5.8. 그것을 시도해보십시오 행운을 빕니다 1.0.6

+0

운이 좋다!. ATmega32의 INT0,1,2 핀은 상승 또는 하강 또는 레벨에서 인터럽트를 생성하도록 구성 할 수 있습니다. 그래서 INT0 (또는 다른)을 사용할 수 있고 원칙적으로 attachInterrupt (0, myRXhandle_interrupt(), FALLING)로 시작하여 이전 인터럽트를 분리하고 SoftwareSerial :: handle_interrupt를 호출 한 후 다음에 예상되는 하강 에지를 첨부합니다). 이것은 PCint가 사용하는 것과 동일한 기능으로 보드의 상승 및 하강을 포착하고 처리합니다. – mpflaga

+0

대단히 감사합니다. @mpflag, 사실 저는 지난 며칠 동안 열심히 이걸로 고심하고 있습니다. 이전 소프트웨어를 설치하려고했습니다. pSoftwareserial.h, pSoftwareserial.cpp 및 내부 .cpp 수정 내용은 및 "pSoftwareserial.h"로 포함됩니다. 특정 경고와 함께 컴파일되지만 SoftwareSerial이 작동하지 않습니다. 필자는 Stream 객체에서 상속받은 mySerial.readString()과 같은 함수에 익숙하지 않습니다. 지금 AltSoftSerial이라는 라이브러리를 사용하려고하지만 스트림 객체도 상속하지 않습니다. – user45603

+0

AltSoftSerial의 test.pde를 컴파일 할 수 있습니까? IDE 1.0.6과 1.5.8 모두 가능합니다. 나는 PJRC 일이 아주 좋기 때문에이 경로가 가장 신뢰할 만하다고 기대합니다. – mpflaga