임베디드기초 6주차

2021. 10. 12. 23:12·학교수업
반응형

 시리얼 포트

- 단일 회선 데이터 전송 기술 : 송신(TX) 1개 선, 수신(RX) 1개 선을 되어 있다.

- USB는 데이터 전송 2개선 (D+,D-), 5V전원공급하는 2개(5V,GND) 선 총 4개 선

 

시리얼 통신 : USART(Universal Synchronous/Asynchronous Receiver/Transmitter)

- 단일 회선 데이터 전송(serial 통신)

- 여러 회선 데이터 전송(parallel 통신)

 

usb이전 시리얼 통신 RS-232c

- 시리얼 통신 이전에 주로 사용된 데이터 전송 표준

- 원래 터미널 단말기, 모뎀 접속용으로 사용

 

usb와 시리얼 통신(RS-232c)간의 통신 방법 : 서로 간에 직접 호환이 안돼 변환하여 연결

1) USB와 시리얼 간 통신을 중계해 주는 별도 IC 사용 <-아두이노 Uno

2) 마이크로 컨트롤러에 USB-시리얼 통신 변환 기능 내장 <-아두이노 Leonardo

 

아두이노 Uno의 시리얼 통신

- 아두이노 Uno에서 사용된 ATMega 328p등의 마이크로 컨트롤러에는 하드웨어 시리얼 포트가 내장

- 시리얼 포트는 아두이노의 디지털 입출력 0번과 1번 핀으로 송신기(TX), 수신기(RX)로 이루어짐

- 아두이노 내장 하드웨어 시리얼 포트는 USB와 호환되지 않아 별도 칩을 USB-시리얼 변환용으로 사용

-> 별도 칩 사용하는 경우, 컴퓨터와 연결을 위해 전용 드라이버 필요

=> 아두이노 IDE를 설치하면서 해당 드라이버가 기설치 되있다. : FTDI드라이버

 

FTDI칩 : 시리얼과 USB간 신호 변환 기능만 수행

 

USB 기능이 내장된 MCU를 사용하는 아두이노 : Leonardo

- 외부 변환기 거치지 않고 USB로 직접 통신하는 MCU 사용

-> MCU사용시 USB장치로 에뮬레이팅하는게 더 쉽게 사용되며, USB 프로그래머를 다중화할 필요 없다.

 

시리얼 통신을 이용한 데이터값 출력

- print()함수

- 아두이노의 가장 기본적인 시리얼 통신 기능 : Serial.println()함수

- 데이터를 터미널(PC)로 출력하려면 세 가지 함수 사용

1) Serial.begin(baud속도) - setup()에서 한 번만 호출

2) Serial.print("메세지 문자열")

3) Serial.println("메세지 문자열")

- 특수문자 : \는 특수 문자 출력하는 명령어다 \n : 줄바꿈 \\n : \n출력

- 표현 형식 : Serial.print(23,HEX); <- 16진수 OCT(8진수) BIN(2진수) default = 10진수

 

에코 : 컴퓨터에서 아두이노로 전송한 데이터를 다시 컴퓨터로 보내는 것

아두이노에 수신된 데이터는 시리얼 입력 버퍼를 관찰하다 수신되는 문자를 모두 출력

- Serial 객체는 두 함수를 통해 에코 처리

1) Seria.available()

- 현재 아두이노 시리얼 포트의 수신 버퍼에 데이터 저장되어 있는지 상태 반환

- 데이터가 0보다 많으면 버퍼에 데이터가 남아있다.

2) Serial.read()

- 버퍼에 있는 데이터 중 다음 사용할 문자 1바이트씩 반환 -> -1은 -한 번 1한 번 인식

 

컴퓨터에서 아두이노로 보낸 데이터는 문자형으로 처리 (숫자입력해도 문자로받음 : ASCII)

-> parseInt()함수 사용하면 간편하게 정수로 추출

 

CSV (Comma Separated Value)

- CSV는 몇 개 필드를 쉼표로 구분한 텍스트 데이터

- 쉼표로 구분한 여러 값을 동시에 전송해 여러 장치 제어 가능

 

Processing : 오픈 소스 프로그래밍 언어, 그래픽 기반

- 아두이노 IDE는 Processing 기반

- 아두이노와 통신하는 GUI 응용 프로그램 제작 가능

반응형
저작자표시 (새창열림)

'학교수업' 카테고리의 다른 글

가상현실프로그래밍 6주차  (0) 2021.10.13
정보보호개론 6주차  (0) 2021.10.13
사물인터넷의 이해 6주차  (0) 2021.10.12
웹개발 기초 6주차  (0) 2021.10.11
객체지향프로그래밍 6주차  (1) 2021.10.10
'학교수업' 카테고리의 다른 글
  • 가상현실프로그래밍 6주차
  • 정보보호개론 6주차
  • 사물인터넷의 이해 6주차
  • 웹개발 기초 6주차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
임베디드기초 6주차
상단으로

티스토리툴바