함수호출 개념--------------------------
함수호출 -프로그래머(S/W) -> 함수 Call(함수)
-회로(H/W) -> 인터럽트 함수 INT(인터럽트)
-운영처리OS(S/W) -> 콜백함수 Call back
APP | 오락 |
APP | 익스플로러, 계산기, 탐색기 |
드라이버 | 드라이버 |
O.S | Window(커널) |
H/W | H/W |
Java는 임베디드를 목표로 제작. 하지만, 지금은 웹, 안드로이드를 위해 쓰이는 중이다.
안드로이드 + 리눅스 = 안드로이드. Java virtual machine + O/S = Java -> 이것으로 어떤한 O/S에서도 Java를 사용할 수 있다.
애뮬레이터(플랫폼)
시리얼(직렬): 속도 느리다. 그러나 하드웨어가 심플 ex) USB
패러럴(병렬): 속도 빠르다. 그러나 하드웨어가 복잡 ex) 버스
LAN(Local Area Network)
WAN(wide Area Network)
반이중: 한쪽이 전송을 보내면 반대편은 전송을 보내지 못한다. ex) 무전기
전이중(Full Duplex): 양쪽이 송수신이 가능하다. ex) 전화기
Synchronous 동기
Asynchronous 비동기
<비동기>
T
---------------------->
R
<----------------------
G
-----------------------
클럭
master ----------------------- slave
USART(U Synchronous Asynchronous Recieve Transmit)
한번에 보내는 단위를 프레임이라고 한다.
<노이즈>
먼거리로 이동하게 되면 처음에 5V를 출력하면 받는 곳에서 1V정도 밖에 안된다.
그런데 전선에 간섭이 일어나게 되어 노이즈가 생긴다.
<패리티 비트>
마지막에 비트를 남겨둬서 0 혹은 1을 맞춰서 1을 짝수로 맞추어 준다.
즉, 짝수가 돼야하는데 홀수가 되면 자료가 잘못된 것을 확인할 수 있다.
<데이터 오버런>
데이터가 너무 많이 와서 쌓여버린 것을 의미한다. 덮어써서 앞의 데이터가 삭제되는 것이다.
예를 들어서 연탄배달할 때 너무 많이 오게되면 앞의 연탄을 제대로 쌓지 못하는 것이다.
<Framing Error Detection>
Data가 잘못되면 Data Error
Frame이 잘못되면 Frame Error
<새로운 C언어>
#include <stdio.h>
#define F_cpu 16000000
int main()
{
printf("%d \n", F_cpu);
return 0;
}
이렇게 하면 도스창에 16000000이 출력 된다. 하지만
#include <stdio.h>
//#define F_cpu 16000000
int main()
{
printf("%d \n", F_cpu);
return 0;
}
이렇게 컴파일하면 'F_cpu': 선언되지 않은 식별자입니다. 이런 오류가 뜬다.
하지만 도스창에 cl /DF_cpu=16000000 main.c 이렇게 하면 출력이 잘 나온다.
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
20160318_김가연_업무일지_LCD출력 (0) | 2016.03.22 |
---|---|
머신러닝 무료 ebook 12개 (0) | 2016.03.22 |
20160321_조재찬_업무일지_펌웨어(UART) (0) | 2016.03.21 |
20160321_최기영_업무일지_펌웨어실습7_시리얼 통신 (0) | 2016.03.21 |
20160318_박진한_업무일지_펌웨어 LCD 타이밍 카운트, 리눅스 (0) | 2016.03.21 |
20160317_업무일지_정우민_타이머/카운터(시계) (0) | 2016.03.21 |
2016_03_21_USAR_노태경_업무일지 (1) | 2016.03.21 |
2016_03_21_시리얼_노태경_업무일지 (0) | 2016.03.21 |