일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 마스터 슬레이브
- 기본 문법
- 시리얼 통신
- TX
- OBD모듈
- 차량통신
- 디지털핀
- SPI 통신
- 아두이노
- SoftwareSerial
- 시리얼모니터
- 시리얼포트
- txrx
- UART
- 시리얼통신
- Serial통신
- Makefile
- 아두이노우노
- 송수신
- 공모전
- can 통신
- 디바이스마트
- OBD
- 자동 변수
- UART통신
- RX
- 양방향 통신
- 아두이노레오나르도
- platformIO
- vscode
- Today
- Total
개발 블로그
[아두이노] SoftwareSerial 라이브러리? 본문
https://speak-of-the-devil.tistory.com/18
[아두이노] 아두이노 TX, RX 연결하기
https://speak-of-the-devil.tistory.com/15 [UART] UART, TX, RX 가 뭘까? UART 란 통신 규격 중 하나이다. Universal Asychronous Receiver/Transmitter의 줄임말로 시리얼 통신(Serail Communication)이라고도..
speak-of-the-devil.tistory.com
이전 글에서 TX, RX 연결을 이야기하면서 TX, RX 선을 추가하기 위해 Softwareserial 라이브러리가 필요하다는 얘기를 했다.
Softwareserial은 뭘까??
시리얼 포트는 PC와 통신, 블루투스 모듈 등 다양한 것과 연결해서 사용한다. 하지만 시리얼 포트의 개수가 제한된 아두이노 보드의 경우 주변 기기 추가에 어려움이 있다. 이때 일반 핀을 시리얼 포트로 사용할 수 있게 하는 라이브러리가 Softwareserial 이다.
일반 핀을 시리얼 포트로 선언하기 위한 방법을 보자.
#include <SoftwareSerial.h>
#define NAME_RX 10
#define NAME_TX 11
SoftwareSerial NAME(NAME_RX, NAME_TX);
1)
#include <SoftwareSerial.h>
-> 헤더 파일 선언 : 헤더 파일을 포함해야 시리얼 포트를 선언할 수 있다.
2)
#define NAME_RX 10
#define NAME_TX 11
-> NAME_RX 정의 : NAME_RX 를 10으로 설정한다.
-> NAME_TX 정의 : NAME_TX 를 11로 설정한다.
* NAME 은 본인이 원하는 변수 이름을 사용하면 된다. 나는 보통 연결된 모듈 이름을 사용한다.
3)
SoftwareSerial NAME(NAME_RX, NAME_TX);
-> 입력 핀을 시리얼 포트로 설정 : NAME 에서 수신받기 위한 핀을 보드의 10번 핀으로, 송신하기 위한 핀을 보드의 11번 핀으로 설정한다.
ex)
#include <SoftwareSerial.h>
#define HC06_RX 10
#define HC06_TX 11
SoftwareSerial HC06(HC06_RX, HC06_TX);
10번 핀은 연결된 모듈(HC06)로 송신하는 TX 선 역할을 하고,
11번 핀은 연결된 모듈(HC06)로부터 수신받는 RX 선 역할을 하게 된다.
'개발 > Arduino' 카테고리의 다른 글
[아두이노] 아두이노 TX, RX 연결하기 (0) | 2022.01.27 |
---|---|
여러 개의 케이블은 다른 시리얼 모니터를 사용할까? (0) | 2022.01.25 |
[아두이노] 조이스틱 모듈 사용하기 (0) | 2022.01.18 |