pySerial 모듈 io를 사용할 수 있는 최신 파이썬 버전(V2.6+)으로 실행될 때 readline()에 대한 eol 매개 변수는 더 이상 지원되지 않습니다. 모든 것이 계획으로 가는 경우 파이썬 프로그램이 실행되고 PIC 장치가 켜져있을 때 아래 표시된 창과 비슷한 것을 볼 수 있습니다. 그렇다면, 우리의 PIC 프로그램과 파이썬 프로그램은 서로 완벽하게 의사 소통하고 있습니다. 이 예제는 매우 간단하지만 파이썬이 PIC, AVR, STM, Arduino 및 심지어 라즈베리 파이를 포함한 마이크로 컨트롤러 프로젝트에 쉽게 통합 될 수 있음을 보여줍니다! 우리의 파이썬 직렬 포트 프로그램을 테스트하기 위해, 우리는 XC8을 사용하여 코딩 될 매우 작은 PIC 칩, PIC16F1825를 사용할 것입니다. 이 칩에는 UART 포트가 있어 USB-직렬 컨버터(예: FTDI 232R)에 직접 연결할 수 있습니다. 다행히도 여기에 사용되는 FTDI 모듈은 USB 포트의 전원을 제공하므로 전원 회로가 필요하지 않습니다 (구성하기 쉽습니다). 파이썬 -m serial.tools.list_ports는 사용 가능한 포트 목록을 인쇄합니다. 또한 정규기를 첫 번째 인수로 추가할 수도 있으며 목록에일치하는 항목만 포함됩니다. 읽기 줄()을 사용할 때는 주의해야 합니다. 직렬 포트를 열 때 시간 제한을 지정하면 줄 줄 이 없는 문자가 수신되지 않으면 영원히 차단될 수 있습니다.

또한 읽기()는 시간 외에서만 작동합니다. readlines())는 시간 시간을 갖는 것에 따라 달라지며 EOF(파일 끝)로 해석합니다. 포트가 올바르게 열리지 않으면 예외가 발생합니다. 간단한 프로그램에서는 먼저 이전에 정의된 직렬 포트를 엽니다. 프로그램에서 포트를 « 클레임 »하고 다른 프로세스가 포트에 액세스하지 못하도록 할 수 있기 때문에 open() 함수를 호출해야 합니다. 포트가 열리지 않은 경우에도 포트에 액세스할 수 없습니다. 파이썬에 대한 많은 좋은 기능 중 하나는 PIP 도구를 사용할 때 라이브러리를 설치하는 것이 얼마나 쉬운지입니다. 컴퓨터에서 터미널 또는 명령 프롬프트를 열고 « PIP »를 입력합니다. 인식할 수 없는 오류가 발생하면 PIP가 올바르게 설치되지 않은 것입니다. 파이썬을 설치할 때 « 환경 변수에 추가 » 옵션이 선택되어 있는지 확인합니다.

PIP가 작동하면 아래 표시된 명령을 실행하여 PySerial: 위에 표시된 매개 변수를 정의하는 것 외에도 직렬 모듈을 가져와야 합니다. 아래 코드 추출은 직렬 모듈을 가져오고 패리티, 원 스톱 비트 및 2초의 시간 표시없이 115200 baud에서 COM3를 사용하도록 UART 포트를 구성하는 방법을 보여줍니다. 직렬 포트를 사용하는 것은 매우 간단하며… 파이썬은 단순성, 기능성 및 플랫폼 독립적 특성 덕분에 유용한 언어입니다. 이 문서에서는 Python을 직렬 포트와 함께 사용하는 방법을 살펴서 마이크로 컨트롤러 및 기타 직렬 포트 지원 장치 (가상 포트를 사용하는 장치 포함)와 상호 작용하는 데 사용할 수 있습니다. pyserial에는 serial.tools.miniterm이라는 작은 콘솔 기반 터미널 프로그램이 포함되어 있습니다. 그것은 파이썬 -m serial.tools.miniterm (모든 옵션의 목록을 얻기 위해 옵션 -h를 사용)로 시작할 수 있습니다. 장치 관리자를 사용할 때 USB-직렬 장치가 있는 COM 포트를 쉽게 찾을 수 있습니다. 시작 메뉴를 열고 « 장치 관리자 »를 입력합니다.

장치 관리자가 로드할 때 « 포트 »라는 섹션을 찾아 확장합니다. 대부분의 Windows 컴퓨터에는 기본적으로 내부 통신에 사용되는 COM1 포트가 있으므로 해당 COM 포트를 사용하지 마십시오. 하나의 COM 장치만 연결되어 있다고 가정하면 두 번째 COM 포트는 마이크로 컨트롤러가 됩니다. 또한 소스 배포 또는 온라인에서 예제 디렉터리에서 예제 파일을 살펴보십시오. PySerial이 프로젝트에 포함되어 있으므로 파이썬 IDLE을 열고 직렬 포트 프로젝트를 만들 시간입니다! 열거형이 모든 운영 체제에서 작동하지 않을 수 있습니다. 불완전하거나 사용할 수 없는 포트를 나열하거나 포트에 대한 자세한 설명이 부족할 수 있습니다. « 38400,8,E,1″에서 열린 포트, 비 차단 HW 핸드 셰이킹: PIC에 대한 코드는 세 가지 주요 영역으로 구성되어 있습니다 : PySerial을 사용하는 경우 몇 가지 매개 변수를 구성해야합니다 (마이크로 컨트롤러에서 UART 주변 장치를 설정하는 것과 유사한 방식으로)

Catégories :