[무선및모바일통신] 3주차 실습
setup()
: 전원이 들어왔을 때 먼저 실행되는 함수
Serial.println(65); //65
Serial.write(65); //A
Serial.println()
: 문자열로 변환하여 출력
65가 문자열 "65"로 변환되고 숫자 '6'과 '5'에 해당하는 아스키코드 값인 54와 32의 2바이트가 전송Serial.write()
: 이진 데이터를 직접 출력 (개행문자 없음)
65에 해당하는 아스키 문자인 'A' 1바이트를 출력하는 것과 동일
int n = 65;
Serial.println(n, BIN); //1000001
Serial.println(n, HEX); //41
Serial.println(n)
: 생략되면 십진수Serial.println(n, BIN)
: 이진수Serial.println(n, DEC)
; 십진수Serial.println(n, HEX)
: 16진수
float f = 3.141592;
Serial.println(f); //3.14, 소수점 둘째자리까지
Serial.println(f, 6);//3.141592, 소수점 여섯번째자리까지
입력값을 byte형 변수에 저장할 때
void loop()
{
if(Serial.available()>0) { //값을 입력할 경우
byte data = Serial.read(); //read는 바이트단위로 읽어온다.
Serial.println(data);//A입력하면 65출력
Serial.write(data);//A입력하면 A출력
}
}
입력값을 char형 변수에 저장할 때
void loop()
{
if(Serial.available()>0) { //값을 입력할 경우
char data = Serial.read();
Serial.println(data);
}
}
read()
는 바이트단위로 읽어오지만 char형 변수에 저장하기때문에 A를 입력하면 65라는 값이 문자형으로 바뀌어서 저장되게 된다.(A로)
-> A입력하면 A가 나온다.
-> TEST입력하면 T\nE\nS\nT
소프트웨어 시리얼
아두이노 우노에 사용된 ATmega328은 오직 하나의 UART 시리얼 포트만 존재한다는 문제점이 있음.
UART 시리얼은 1:1 통신만 지원하기 때문에 UART 시리얼 통신을 사용하는 여러 개의 장치를 아두이노 우노에 연결할 수가 없다.
-> 이를 해결하기 위해 아두이노의 기본 라이브러리 중 하나인 SoftwareSerial 라이브러리를 사용
아두이노와 아두이노끼리 통신할 때, 아두이노와 블루투스장비와 통신할 때... 등
#include <SoftwareSerial.h>
헤더 포함시켜줘야함.
SoftwareSerial SW(1,0);//객체생성과정, RX와 TX선 지정
아두이노 String 클래스
문자열 처리를 위한 클래스
void setup()
{
Serial.begin(9600);//시리얼클래스 초기화
String string1 = "hello";
string1 += 13; //String 객체와 다른 타입의 데이터 결합으로 새로운 String객체 생성
Serial.println(string1);
}
void setup()
{
Serial.begin(9600);//시리얼클래스 초기화
String string1 = "hello";
string1 += 'a';
string1.toUpperCase();
string1.toLowerCase();
Serial.println(string1); //helloa
Serial.println(string1.indexOf('h')); //0
Serial.println(string1.lastIndexOf('l')); //3
string1.setCharAt(5, '!');
Serial.println(string1); //hello!
string1.replace("hello", "hi");
Serial.println(string1); //hi!
Serial.println(string1.length()); //3
}
string1.toUpperCase()
: 문자열 전체를 대문자로 바꿈string1.toLowerCase()
: 문자열 전체를 소문자로 바꿈string1.indexOf('h')
: 특정 문자가 처음 등장하는 위치를 찾음string1.lastIndexOf('l')
: 특정 문자가 마지막으로 등장하는 위치를 찾음setCharAt(5, '!')
: 특정 위치의 문자를 바꿈(5번위치의 문자를 !로 바꿈)string1.replace("hello", "hi")
: 특정 문자를 찾아서 모두! 교체string1.length()
: 문자열의 현재 길이를 알려줌
Author And Source
이 문제에 관하여([무선및모바일통신] 3주차 실습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@from-minju/무선및모바일통신-3주차-실습저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)