함수 호출
- 프로그래밍(s/w) -> 함수 호출
- 회로(h/w) -> 인터럽트 함수 ISR IRQ INT(인터럽트)
- 운영체제 os(s/w) -> 콜백 함수(call back) windows에선 Message
드라이버 - 각 하드웨어 제조사에서 만듬
운영체제 - 운영 및 조율하는 역할
atmega - 펌웨어만 짜놓고 return하면 os가 없기 때문에 안됨
플랫폼 : 안드로이드
리눅스(os) + 안드로이드
폰 제조사들이 알아서 한다.
에뮬레이터 (플랫폼) // Java - JVM
BSD (unix)
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 (transmit) R (receive)
C 클럭
GND 기준전압을 갖게 해주기 위해 무조건 연결
VCC
시리얼 방식 대표적인 예 : USB
패러럴 방식 대표적인 예 : BUS
Atmega2560
odd(홀수), even(짝수) / parity(점검하다)
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 (parity bit) |
갯수를 체크해서 데이터의 손실을 점검
전이중 : 전화
반이중 : 무전기
T,R,G 비동기 (칩에 기본 내장)
C언어 컴파일 명령어
cl /DF_CPU=8000000 main.c
결과 :
전압이 높을수록 0과 1을 구별하기 용이하다.
max3232 신호전압을 조정
UART
USART(Universal Synchronous and Asynchronous Receive and Transmitter)
max3232 120Kbos x 1024=122,880 (최대속도)
TRANSMIT,RECEIVE SHIFT REGISTER - 1bit씩 밀어냄
BAUD - 폭이 늘어나면 느려지고, 좁아지면 빨라진다.
BAUD RATE GENERATOR
USB 직렬통신 실습
'Study > Embedded' 카테고리의 다른 글
20160323_펌웨어(ADC) (0) | 2016.03.23 |
---|---|
20160322_펌웨어(USART) (0) | 2016.03.22 |
20160317-펌웨어(타이머 카운터) (0) | 2016.03.17 |
20160316-LCD출력 (0) | 2016.03.17 |
20160315-펌웨어 분석 및 학습 (0) | 2016.03.16 |