728x90
반응형
■ 회로 기초
어제까지는 일반모드
TCNT레지스터의 값이 00~FF까지 증가하다가 00으로 넘어갈 때 오버플로우 인터럽트를 요청하는 방식.
오늘 공부할 CTC모드는
OCR레지스터에 특정값을 설정해둔 후,
TCNT레지스터의 값이 00부터 증가하다가 OCR레지스터의 설정값에 도달했을때 인터럽트를 요청하는 방식.
183쪽 그림2.2.24를 보면
OCN에서 토글이 일어나는부분이 인터럽트가 발생하는 부분이다. 그 외 기능은 일반모드랑 유사하다.
■ CTC모드 설정
- TIMSK Reg는 Output Compare Match Interrupt Enable에 맞춰 셋팅한다.
- TCCRnA Reg는 CTC모드, Toggle OCn on compare match에 맞춰 셋팅한다.
- TCCRnB Reg는 OCn에 출력 Enable, 분주비 1024에 맞춰 셋팅한다.
- OCRnX Reg는 목표값을 넣어준다.
■ CTC모드를 동작시키기위한 인터럽트 함수는
ATmega2560 - 벡터21
ATmega128 - 벡터9(Timer/Counter 2 사용)
■ 소스코드
■ 결과
■ 함수포인터
함수의 위치를 가리킨다
포인터는 가리킬곳의 자료형에 기반한다
함수도 마찬가지다
함수의 자료형을 추출하는데 방법을 외워야한다.
원형 추출
- 함수원형을 메인안에 가져와서 이름을 지운다
- 지운자리에(*)을 삽입 // 여기까지 타입
- *뒤에 변수명을 써준다 // 여기까지 선언
- 맨뒤에 = 함수명을 써준다 // 여기까지 초기화
▲ 배열이름자체가 주소인것 처럼 함수이름 자체가 주소다
■ 함수포인터로 printf, scanf 호출
▲ const char *는 문자열을 의미하는데 수정하지않는다는 의미.
■ 의미파악
■ 라즈베리파이 한글폰트 설치
■ vim 설치
vi - visual editor (윈도우의 메모장같은)
기본적으로 3가지 모드가 존재한다
- 명령모드
- 수정모드
- 확장명령모드
기본적으로 명령모드이다.
▲ ESC눌러서 명령모드로 돌아온 후 :wq한다. wq는 write quit
윈도우는 옵션을달때 /를 붙인다
리눅스는 -o(output)를 붙인다
vi가 실행 될 때, 같은 디렉토리에 .파일명.txt.swp 라는 파일을 따로 만들어낸다. 일종의 백업파일 같은..
실수로 putty 강제종료를 한다던가등의 이유로 저장(:wq)을 안해버렸다고 가정하자.
다시접속해서 vi 파일명.txt를 실행하면 겹침 메시지가 뜬다.
:wq의 q가 입력되면 swp파일이 삭제되는데, 그렇지 못했기때문에 발생하는 현상이므로,
rm .파일명 으로 삭제해주면 된다.
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20150427-31번-차윤도 USART, 함수포인터 (13) | 2015.04.28 |
---|---|
2015.04.24.(금)-30번-주재민 (7) | 2015.04.25 |
ODIY 한국과학창의재단_YouTube (3) | 2015.04.24 |
20150423-29번-주보건 PC PWM,Void *, Hexaview 프로그램, vi 편집기의 기본 명령어 (6) | 2015.04.24 |
20150421-26번-임병열 LED제어 및 배열포인터와 삼바구축 (7) | 2015.04.21 |
20150417-24번-이량경 _ 포인터의 포인터 / 다중인터럽트 (9) | 2015.04.19 |
2015 04 16 목요일 23번 윤재희 인터럽트(Interrupt)와 전자 룰렛 & 포인터를 활용한 1/2차원 배열의 값과 주소 (10) | 2015.04.16 |
2015 04 15 수요일 22번 우대희 주사위/배열 (11) | 2015.04.15 |