함수 호출
- 프로그래밍(s/w) -> 함수 호출
- 회로(h/w) -> 인터럽트 함수 ISR IRQ INT(인터럽트)
- 운영체제 os(s/w) -> 콜백 함수(call back) windows에선 Message
드라이버 - 각 하드웨어 제조사에서 만듬
운영체제 - 운영 및 조율하는 역할
atmega - 펌웨어만 짜놓고 return하면 os가 없기 때문에 안됨
플랫폼 : 안드로이드
리눅스(os) + 안드로이드(플랫폼)
폰 제조사들이 알아서 한다.
에뮬레이터 (플랫폼) // Java + JVM(Java Virtual Machine)
Java는 임베디드를 타겟으로 만듬, 어플리케이션에 활용
시리얼(직렬)
패러럴(병렬)
LAN Local Area Network
WAN Wide Area Network
네트워크 시초는 군사용
시리얼(직렬) : AVR -> LCD 1bit씩 보냄 1/0/1/1/1/1/0/0
패러럴(병렬) : AVR -> LCD 멀티 bit 를 보냄 10111100 직렬 : 단순, 비용저렴, 속도 느림 병렬 : 복잡, 비용증가, 속도 빠름 고속직렬
Tx R Rx T C C GND GND VCC VCC
T 주고 R 받음 (transmit, receive)
C 클럭
GND 기준전압을 갖게 해주기 위해 무조건 연결
VCC
시리얼 방식 대표적인 예 : USB
패러럴 방식 대표적인 예 : BUS
Atmega2560
odd(홀수), even(짝수) / parity(점검하다)
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 (parity bit) |
선이 길어지면 처음에 출력의 5V가 받는 곳에서는 전압이 불안정해지고 약해질 수 있다. 그러면 노이즈가 생기게 되는데
parity bit는 데이터의 갯수를 체크해서 손실을 점검하게 된다.
전이중(Full-Duplex) 통신 : 동시에 양방향 전송이 가능한 방식으로, 전송량이 많고, 전송 매체의 용량이 클 때 사용 (예: 전화)
반이중(Half-Duplex) 통신 : 양방향 전송이 가능하지만 동시에 양쪽 방향에서 전송할 수 없는 방식 (예: 무전기)
T,R,G 비동기 (칩에 기본 내장)
C언어 컴파일 명령어
cl /DF_CPU=8000000 main.c
결과 :
전압이 높을수록 0과 1을 구별하기 용이하다.
max3232 신호전압을 조정
UART
USART(Universal Synchronous and Asynchronous Receive and Transmitter)
max3222 120Kbos x 1024=122,880 (최대속도)
TRANSMIT,RECEIVE SHIFT REGISTER - 1bit씩 밀어냄
BAUD - 폭이 늘어나면 느려지고, 좁아지면 빨라진다.
BAUD RATE GENERATOR
USB 직렬통신 실습
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
20163021-업무일지-이보원 펌웨어-usb 직접통신실습- (0) | 2016.03.22 |
---|---|
20160321_노유찬_펌웨어실습(serial통신) (0) | 2016.03.22 |
20160318_김가연_업무일지_LCD출력 (0) | 2016.03.22 |
머신러닝 무료 ebook 12개 (0) | 2016.03.22 |
20160321_최기영_업무일지_펌웨어실습7_시리얼 통신 (0) | 2016.03.21 |
20160321_장진웅_업무일지_펌웨어 실습 (0) | 2016.03.21 |
20160318_박진한_업무일지_펌웨어 LCD 타이밍 카운트, 리눅스 (0) | 2016.03.21 |
20160317_업무일지_정우민_타이머/카운터(시계) (0) | 2016.03.21 |