728x90

함수 호출

  • 프로그래밍(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

 

http://codepad.org/YjciuvST

 

결과 :

 

 

전압이 높을수록 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

+ Recent posts