문제

나는 보낼 필요가를 통해 데이터를 주고받을 수 있는 직렬 연결을(RS-232 와 RS-422).

어떻게 설정 및 통신 등으로 연결은 무엇입니까?어떻게 그 밖으로 구성 설정(예:전송 속도)해야하고 설치하는 방법은?

특히 내가 찾는 이를 위해서 Java,C/C++,또는 하나의 주요 유닉스탄 하지만 또한 어떤 관심에서 시리얼 프로그램을 사용하여 Windows/하이퍼터미널.

도움이 되었습니까?

해결책

를 구축하기로 돌아 1987?Ho ho.

Ok,더 짜증스럽다.

어떻게 그 밖으로 구성 설정(예:baud rate)되어 있습니다.

읽기 데이터 시트를?Ok,확인을 클릭합니다.심각하게,마지막 하나입니다.알지 못하는 경우 전송 속도는 장치의 당신은 당신과 의사 소통을 위해 노력하고,당신은 두 가지 중에서 선택할 수 있습니다.시 추측,또는 가능하게 가슴 아웃 o 범위가 있습니다.필요할 경우 좋은 출발점,를 제출할 수 있습니다.9600-8-N-1.나의 의심은 당신이 얻을 수 있습리 힘을 상대적으로 신속.가 세 번째 옵션이 있는 학자는 알 수 있습만으로 모양의 잘못된 문자 중 일부에서는 표준 전송 속도는 무엇 실제적인 속도입니다.인상적인 타이어는지 확인합니다.

희망이 있지만 액세스할 수 있습니다.에서 unix/linux 에서 얻을 수 있습의 연락 minicom 으로 재생하는 직렬 포트에 직접 있습니다.이것이 상당히 얻을 빠른 구성을 알아 냈다.

하나의 주요 유닉스탄

에서 유닉스 시리얼 포트로(s)/는 파일에 매핑/dev/subdir.ttyS0,예를 들어.설치 프로그램의 경우 올바른 전송 속도와 등등으로 사용하는 minicom,할 수 있도 고양이가 물건을 파일을 보내는 물건을 거기에있다.

에게 고기의 질문에 액세스할 수 있습을 통해 프로그래밍 방식으로 POSIX 헤더가 있습니다.termios.서는 큰 하나입니다.

보: http://www.easysw.com/~마이크/시리얼/니다.html#3_1 (사용할 수 없습니다 더 이상)

하지만 또한 어떤 관심에서 시리얼 프로그램을 사용하여 Windows/하이퍼터미널.

하이퍼터미널 및 minicom 은 기본적으로 동일한 프로그램입니다.위한 방법으로 윈도우의 당신이스 시리얼 포트,나를 떠나 그 질문에 대한 다른 사람.수행하지 않았는 Windows 이후 Win95 일입니다.

다른 팁

하려는 경우드에서 Java 정말 추천 SerialIOs SerialPort.그것은 매우 쉽게 사용하고 절약할 수 있습니다.나는 결코 발견된 오픈 소스 라이브러리만큼 좋은 SerialIO,정말!

My advice:를 사용하지 않는 태양의 일련 IO framework!그것은 1998 년부터 수 있습니다.당신이 사용할 수 있는 rxtx 하지만 serialio 는 더 나은입니다!

C/C++윈도우에서 당신은 당신이(최소한)두가지 선택이 있다:

  1. 사용 SerialPort 클래스를 제공합니다.NET.
  2. 사용 Win32API 를 사용합니다.가 광범위한 MSDN 문서 1995 년 다시 데이트,그리고 많은 자유로운 라이브러리와 예 웹에서 당신을 얻을 시작했다.

니다.NET 옵션을 훨씬 더 쉽게 될 것입니다.

할 필요가 있는 경우 회사는 십자가 누릴 수 있게 되었습니다.,는 것이 좋을 보고 향상 Asio.

직장에서 우리가 사용하는 teraterm 및 realterm 검사를 위한 일련 데이터를 올바른 형식.또한 우리는 하드웨어 쪼개는 도구로 전환 그래서 우리는 트래픽을 모니터링할 수 있습니다.우리의 응용 프로그램을 통해 케이블을 다시 다른 포트입니다.

윈도우에 액세스할 수 있습니다 시리얼 포트를 통해 CreateFile.그것은 당신이 처리하고 거기에서 구성할 수 있습 액세스입니다.

잠시 다시 내가 쓴 나중에 다시 시도해 주세 응용 프로그램 경로를 연결은 농장에서의 모뎀을 통한 TCP/IP 네트워크 주소입니다.

처음에는 나는 대한 방해(무료)직렬 IO 라이브러리입니다.나는 태양의,IBM 및 IBM RxTx.들이 잘 개발하기 위한 응용 프로그램에서 초기 테스트,하지만 생산에서 그들이 각각 입증이 불안정합니다.

마지막으로 지불을 위해 SerialIO 의 SerialPort.변환을 통해 말 그대로의 운동이 변화하는 수입품,그리고 라이브러리 절대적으로 견-내가 충분히 추천 할 수 없습니다.내용은 현장에서 실행 24/7 몇 년 동안 이제 하나의 문제에 의해 발생하는 여러 고객입니다.

시작할 경우를 사용하여 개발 SerialPort,그들은 더 나은 API 를 사용하는 것이다.

해야 하는 경우 플랫폼을 지원,자바 SerialPort 최고의 선택을 찾을 수 있다.

마지막으로,그들의 라이선스는 괜찮은 합리적인 만큼 당신은 사전 설치하려면 소프트웨어는 장비에 대한 고객(s).

다른 측면에서,당신이 원하는 경우에 그것을 사용하여 C#에서 실행되는 Windows 및 Linux--부 제한 (편집:수있는 항상 최신 상태를 유지합니다.나는 방법이 없을 테스트합니다.).그냥 만들기 SerialPort 체,설정 baudrate,포트와 다른 어떤 이상한 설정,통화에 열고 밖으로 작성하 byte[]s.후 모든 설정 SerialPort 개체의 행위와 매우 유사하는 네트워크에 연결된 모든 스트림을해야한다,그래서 쉽게 충분합니다.

로 ibrandy 국,당신이 알아야 할 모든 이러한 설정을 다음과 같 전송 속도,시작하기 전에도 통신을 시도하는 어떤 직렬 장치입니다.

장치에 따라 당신은 당신과 의사 소통을 위해 노력하고 있을 수 있습 것보다 더 많은 매개 변수는 전송 속도,수의 데이터 비트,유형 패리티의 확인 및 정지 비트 수를 고려해야 합니다.만약 내가 정확하게 기억,모뎀 사용하여 아홉 라인의 RS-232C 인터페이스입니다.일부 장치와 같은 예를 들어,현금 등록을 사용할 수 있고,하드웨어 핸드셰이킹에 RTS/CTS 선 또는 DTR/STR 라인입니다.

일반적으로 좋은 방법을 알고 있어 인터페이스 작동합니다.통신할 수 없습니다 만약 전송 속도가 일치하지 않지만,잘못된 설정의 다른 매개 변수할 수 있다.예를 들어,당신은 쉽게 보낼 수 있습니다 데이터가 장치를 기대 1stop bit2stop bits 설정합니다.문제 시작하려고 할 때 데이터를 수신한 경우입니다.또한 사용할 수 있는 적절히 설정되 패리티 비트의 하나로 스톱 비트,등등.

지 않은 경우에 사용하도록 강요하는 특정 컴파일러를 사용하는 것이 좋 Qt 및에서 새로운 5.3 버전을 찾을 것입니다 클래스 전용 직렬 포트:

http://qt-project.org/doc/qt-5/qserialport.html

코드를 작성에서 실행됩니다 모든 supprited Qt 플랫폼에서는 적어도 그들이 시리얼 포트가 있습니다.

사용 purejavacomm:의 구현 javax.comm 에서 java+JNA

달리 rxtx,당신을 설치하실 필요가 없습니다 dll.그것은 기록에서 순수 Java+JNA 는 문제를 해결의 휴대 사 Windows 및 Linux 습니다.그것은 쉽게 해야하는 포트가 다른 운영체제에는 JNA 지원과 같은 Solaris 및 FreeBSD,그러나 내가 시도하지 않습니다.

예상할 수 있는 자바 라이브러리하는 기본 구현은 등 rxtx 성과에 있지만,현대적인 CPU 의 병목 현상이 발생할 가능성이 매우 높은 비트 레이트의 시리얼 포트지 않는,CPU 사이클이 있습니다.또한,그것은 훨씬 쉽게 디버깅하기보다는 혼합 Java/네이티브 라이브러리는 순수한 컴파일한 기본 코드입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top