SPRESENSE의 USB CDC 기능을 사용하여 직렬 통신을 시도했습니다.
SPRESENSE의 USB CDC 기능을 사용하여 직렬 통신을 시도했습니다.
소개
SPRESENSE 확장 보드의 USB 단자를 사용하여 직렬 입출력을 실현합니다.
SPRESENSE SDK에서 지원하는 USB CDC 기능을 그대로 활용하여 Arduino에서 사용할 수 있는 라이브러리(USBSerial)를 새로 만들었습니다.
USB CDC-ACM이란?
USB에는 USB 메모리 등에서 사용되는 MSC(매스 스토리지 클래스)나 마우스 키보드에서 사용되는 HID(Human Interface Devices) 클래스 등 기능이나 용도별로 여러 디바이스 클래스로 나뉘어 프로토콜이 있습니다. 정의되었습니다. 이 중에는 호스트 PC와 통신하기 위한 CDC(Communication Device Class)라는 클래스 드라이버가 준비되어 있습니다. CDC 디바이스 클래스는 몇개의 서브 클래스로 나누어져 있어 RS-232C등의 시리얼 통신에 대응한 CDC-ACM(Abstract Control Model)이나 이더넷 통신을 실현하는 CDC-ECM(Ethernet Networking Control Model)등이 있습니다. 흔한 FTDI와 같은 USB 직렬 변환 칩은이 CDC-ACM 기능을 구현합니다.
SPRESENSE 보드 개발 환경 구축
개발 환경 설정 절차는 Spresense Arduino 시작 가이드에서 자세히 설명합니다. Arduino를 사용한 적이 있다면,
USBSerial 라이브러리
구현한 라이브러리를 GitHub에 올렸습니다.
htps : // 기주 b. 코 m / 바기 오 63446333 / 우 SB 세리아
Serial
대신 USBSerial
로 바꾸면 사용할 수 있습니다. 설치 방법은 GitHub에서 zip 파일을 다운로드하여 설치할 수 있지만 git을 사용한 단계를 보여줍니다. (아래는 Ubuntu 환경의 예이지만 Windows 환경에서는 %USERPROFILES%\Documents\Arduino\libraries, macOS 환경에서는 ~/Documents/Arduino/libraries 당 libraries 폴더가 있어야 합니다, 아마)
$ cd ~/Arduino/libraries
$ git clone https://github.com/baggio63446333/USBSerial
examples에 있는 SerialCommunication.ino 스케치를 시작합니다.
SerialCommunication.ino
#include <USBSerial.h>
USBSerial USBSerial;
void setup()
{
// Use normal serial port on main board
Serial.begin(115200);
// Use USB serial port on extension board
USBSerial.begin(115200);
}
void loop()
{
// Send from USBSerial to Serial
while (USBSerial.available()) {
Serial.write(USBSerial.read());
}
// Send from Serial to USBSerial
while (Serial.available()) {
USBSerial.write(Serial.read());
}
}
Serial과 USBSerial간에 시리얼 통신하고 있는 단순한 샘플입니다.
TeraTerm 등의 시리얼 터미널을 2개 시작하여 한쪽 터미널에 입력한 문자열이 다른 한쪽 터미널에 출력됩니다.
사이고에게
USB CDC를 사용하면 고속의 시리얼 통신이 가능할 것.
통신 속도의 계측 등은 일절 확인하고 있지 않으므로 ぉぃぃぃ합니다. .
제대로 움직이지 않거나 제대로 움직이지 않거나 동작이 이상하다거나 뭔가 있으면 코멘트를 부탁드립니다.
Reference
이 문제에 관하여(SPRESENSE의 USB CDC 기능을 사용하여 직렬 통신을 시도했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/baggio/items/e62cb26630fdb78881f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)