리눅스 uart 통신 예제

그것은 직렬 라인을 통해 원격 시스템과 터미널 연결을 설정하기위한 간단한 프로그램입니다. 팁은 팁 별 구성 파일에서 직렬 통신에 대한 매개 변수를 포함하여 필요한 통신 매개 변수를 사용합니다. 자세한 내용은 팁(1) 수동 페이지에서 확인할 수 있습니다. 두 프로세스를 구성하는 일반적인 방법은 읽기 프로세스를 백그라운드에 배치하고 쓰기 프로세스가 포그라운드에서 계속 실행되도록 하는 것입니다. 예를 들어 다음 스크립트는 장치를 구성하고 직렬 장치에서 받은 모든 데이터를 표준 출력으로 복사하는 백그라운드 프로세스를 시작합니다. 그런 다음 장치에 명령을 쓰기 시작 : 라우터, 서버 및 NAS 장치와 같은 대부분의 임베디드 리눅스 / BSD 시스템은 콘솔 인터페이스 (RS-232와 직렬 포트)와 함께 제공됩니다. BIOS는 이것을 사용할 수 있으며, 부팅 후 BIOS 화면 I/O가 리디렉션되어 장치를 사용할 수 있습니다. RS-232는 운영 체제가 아직 실행되지 않아 네트워크 연결이 불가능한 경우 부팅 중에 모니터나 키보드가 설치되지 않은 헤드리스 서버와 통신하는 데도 사용됩니다. 컴퓨터와 임베디드 시스템 또는 서버 간에 직렬 케이블을 사용해야 합니다. 이 게시물에서 나는 리눅스 / 유닉스 / * BSD와 맥 OS X에서 직렬 통신에 사용되는 다섯 conman 유틸리티를 다룰 것입니다. 리눅스 시스템에 관한 또 다른 중요 한 사실은 리눅스 만 루트 계정에서 하드웨어 리소스에 액세스할 수 있습니다. 따라서 결과 바이너리를 루트로 실행하려면 sudo 명령을 사용하십시오.

PC 기반 유닉스 시스템은 종종 장치에 대한 DOS / Windows 이름을 모방하고 /dev /comxxx라고 부릅니다. 리눅스 시스템은 일반적으로 직렬 포트 / 개발 / ttySxxx 대신 호출합니다. 이제 우리는 마이크로 컨트롤러 보드와 PC 를 실행하는 PC 사이에 작은 직렬 링크를 만들 것입니다 읽기 및 PC 직렬 포트에서 쓰기를 테스트하려면 Linux OS를 실행 . 여기에 사용되는 마이크로 컨트롤러는 런치 패드 개발 보드에 텍사스 악기에서 MSP430G2553입니다. 임베디드 시스템 측에서 8051 또는 Atmel AVR과 같은 마이크로 컨트롤러를 사용할 수 있습니다. 이것은 리눅스에서 직렬 포트를 설정하고 구성하는 방법에 대한 기사이므로 마이크로 컨트롤러 측 코드는 여기에 설명되어 있습니다. 이 튜토리얼에서 우리는 리눅스 운영 체제 (우분투 / LinuxMint)에 직렬 포트를 프로그래밍하는 C 언어를 사용합니다. 사용되는 컴파일러는 OS와 함께 자유롭게 사용할 수있는 gcc입니다. 닌자 기간은 또 다른 직렬 터미널 옵션입니다. 그것은 윈도우 / 맥 OS / 리눅스에서 작동하는 그래픽 프로그램입니다. ANSI esc와 같은 기능이 있습니다. 코드 지원, 필터링 및 타임 스탬프.

직렬 포트의 RTS 및 DTR 핀을 제어하는 방법을 알고 싶다면 다음 섹션을 확인하십시오. 이 섹션에서는 RTS 및 DTR 핀을 제어하는 데 사용되는 ioctl() 호출을 간략하게 설명하고 이를 사용하여 Linux Box에서 제어하는 작은 RS485 네트워크를 구축합니다. Linux에서 직렬 포트를 여는 것은 open() 시스템 호출을 사용하여 수행되며 직렬 포트를 닫는 작업은 close() 시스템 호출을 사용하여 수행됩니다. 고전 유닉스 직렬 API의 실제 구현은 리눅스와 같은 유닉스와 그 클론의 다른 버전으로 인해 실제로 다릅니다. 따라서이 모듈은 일반적인 개요를 제공합니다. 유닉스에서 직렬 장치에 대한 프로그래밍을 할 때 특정 유닉스 버전의 매뉴얼(매뉴얼)을 공부하는 것이 좋습니다.