리눅스 serial 통신 예제

uucp 제품군에는 직렬 줄(또는 원격 시스템에 대한 다른 UUCP 베어러)을 통해 로그인할 수 있는 명령줄 도구도 포함되어 있습니다. 이러한 도구는 cu 및 ct입니다. 예를 들어 직렬 회선을 통해 연결된 장치에 액세스하려고 할 때와 일부 직렬 회선 프로토콜을 디버깅할 때 유용합니다. 직렬 포트에서 데이터를 읽는 것은 read() 시스템 호출을 사용하여 수행됩니다. 직렬 포트의 RTS 및 DTR 핀을 제어하는 방법을 알고 싶다면 다음 섹션을 확인하십시오. 이 섹션에서는 RTS 및 DTR 핀을 제어하는 데 사용되는 ioctl() 호출을 간략하게 설명하고 이를 사용하여 Linux Box에서 제어하는 작은 RS485 네트워크를 구축합니다. 아니 데비안 우분투는 코드가 성공적으로 컴파일 된 후 이후 화면에 직렬 터미널에 대한 지원이 없습니다, 다음 명령을 실행하여 루트로 바이너리를 실행합니다. 프롬프트 할 때 루트에 대한 암호를 입력합니다.sudo ./serial MS-Windows를 사용하도록 강요하는 경우 다음 무료 및 오픈 소스 직렬 통신 프로그램을 시도하십시오 : 직렬 포트의 내부에 대해 자세히 알고 싶다면 “직렬 “를 참조 할 수 있습니다. POSIX 운영 체제에 대한 프로그래밍 가이드”마이클 R.스위트에 의해 작성되었습니다.

결과를 파일 serialtest.py 저장한 다음 실행하십시오: 이제 하드웨어 직렬 포트가 없는 경우(내 경우와 같이) 명령은 다음과 같이 아무 것도 인쇄하지 않습니다. -s 옵션을 사용하여 장치가 단말인지 테스트하는 데 사용할 수 있습니다(termio/termios ioctl()의 지원). 따라서 지정된 파일 이름이 실제로 직렬 줄의 장치 이름인지 확인하는 데 사용할 수도 있습니다. 이 페이지는 직렬 장치를 제어하기 위한 고전적인 유닉스 C API에 관한 것입니다. C 이외의 언어는 유사하게 보이거나 자체 추상화(예: Java)와 함께 제공되는 이러한 API에 적절한 래퍼를 제공할 수 있습니다. 그럼에도 불구하고 이러한 API는 유닉스의 직렬 I/O에 대해 찾을 수 있는 가장 낮은 추상화 수준입니다. 그리고, 사실 그들은 또한 표준 유닉스에 C에서 가장 높은 추상화입니다. 일부 유닉스 버전은 공급업체별 독점 고급 API를 추가로 제공합니다.

이러한 API는 여기서 설명되지 않습니다. 이제 우리는 마이크로 컨트롤러 보드와 PC 를 실행하는 PC 사이에 작은 직렬 링크를 만들 것입니다 읽기 및 PC 직렬 포트에서 쓰기를 테스트하려면 Linux OS를 실행 . 여기에 사용되는 마이크로 컨트롤러는 런치 패드 개발 보드에 텍사스 악기에서 MSP430G2553입니다. 임베디드 시스템 측에서 8051 또는 Atmel AVR과 같은 마이크로 컨트롤러를 사용할 수 있습니다. 이것은 리눅스에서 직렬 포트를 설정하고 구성하는 방법에 대한 기사이므로 마이크로 컨트롤러 측 코드는 여기에 설명되어 있습니다.