부산IT학원/스마트컨트롤러
-
20140519 (make, makefile)부산IT학원/스마트컨트롤러 2014. 5. 19. 15:22
63일차 -----------------make 명령어----------------- --- make, build유틸리티 프로그램 일종으로 빌드 툴. --- whereiswhereis "프로그램이름""프로그램이름" 위치를 찾아주는 명령어 --- makefilemake 명령어의 참조파일로 스크립트라고 부른다. --- 라벨makefile 내에 라벨이름:명령어 라벨이름 밑에 명령어를 실행 시킨다. all, smart, test는 라벨이라 부르고뒤에 : (콜론)을 붙여준다.명령어들의 앞에는 꼭 tab 을 쳐줘야 한다.tab을 친 곳까지만 한 라벨로 인식한다고 한다. tab을 안쳐주면 오류가 남. all, test 밑에 명령어 앞에는 @가 붙어 있는데실행시 그 명령어를 보여주지 않는다는 명령. 위에 그림에서 보았..
-
20140516 (초음파 모듈)부산IT학원/스마트컨트롤러 2014. 5. 16. 16:36
62일차 --------------------------ATMega128 초음파 모듈-------------------------- --- 초음파 모듈 물체와 거리를 구하는 LCD에 쏴주는 것 실습. - 소스 구현 trigger 신호를 보내면 초음파 모듈이 작동을 시작해초음파를 쏜다.쏘기 시작한 시간부터Echo output pin으로 H 신호를 보내기 시작하여쐈던 초음파가 돌아왔을 때Echo output Pin으로 L 신호를 보낸다. - Pin 설정을 하고 타이머를 우선 시작해 둔다.타이머 발동시 이 함수가 실행되는데1cm마다 이 함수를 부른다. 쏘기 시작한 시간부터 돌아온 시간까지시간을 세어 음파을 속도와 관계하여거리를 구할 수 있다. 음속이 1cm만큼 가는데 29.411 마이크로초 만큼 걸린다.거리를..
-
20140515 (초음파 모듈)부산IT학원/스마트컨트롤러 2014. 5. 15. 10:25
61일차 --------------------------ATMega128 초음파 모듈-------------------------- --- 초음파 모듈 사진에서위에 사진에 회로 뒷판 PIC칩과, 아래 사진에 초음파 센서, 동작하는 프로그램을 합쳐서 초음파 모듈이라고 부른다. --- Timing Diagram이 SRF05 모듈은 두가지 모드가 있다.첫번째 모드는 pin을 두개 사용하고두번째 모드는 pin을 한개만 사용한다. - 첫번째 모드 Timing Diagram trigger 신호를 보냈을 때H 신호를 최소 10us 마이크로s 을 유지시켜 줘야trigger 신호가 보내진다. 초음파를 쏘는데 혹시 방해 전파가 있지도 모르니 8번을 쏜다. 초음파를 쏘고 받을 때 최소 100us 시간이 지나야 감지가 가능하..
-
20140514 (타이머/카운터 Reg)부산IT학원/스마트컨트롤러 2014. 5. 14. 11:45
60일차 -----------------------------ATMega128 Timer, Counter----------------------------- --- Timer 관련 Reg - 축차비교법 처럼 값이 채워지는데 이 곳에 0 ~ 255 값이 채워짐 - 비교할 때 사용함. 인터럽트 호출 방식 설정 - 7 ~ 2번 비트Timer 2 ~ 1번 관련 비트지금은 timer0번만 사용 중 - 1번 비트비교 방식비교 Reg(OCR0)와 TCNT0 의 값과 비교하여값이 일치할 때 INT 발생 - 0번 비트오버플로우 방식TCNT0 의 값이255를 넘었을 때 256(0)이 되었을 때INT 발생 --- 오버플로우, 비교 방식 소스 비교 - 오버플로우 - 비교...... TIMSK Reg에값을 비교 방식으로 바꾸고..
-
20140513 (타이머, 카운터)부산IT학원/스마트컨트롤러 2014. 5. 13. 17:30
59일차 ----------------------------ATMega128 타이머/카운터---------------------------- --- 타이머/카운터 (8bit) 타이머와 카운터는 그 매커니즘이 같아서 같이 설명을 한다.회로에 ADC에 축차비교처럼 (8bit) 크기의 공간이 있어cpu의 1클록당 1씩 채운다.8bit가 255가 제일 큰 수 이니이 공간을 다 채우는데 255클록 이라는 시간이 걸린다. 그리고 그 끝에 도달하거나, Reg에 설정해둔 값에 도달했을 때Interrupt를 발생시켜 IRQ(Interrupt ReQuest, 인터럽트 함수)를 실행시킨다. --- Clock Prescaler cpu clock 초당 클록 : 16,000,000 Hz - 1클록당 걸리는 시간 0.000 000..
-
20140512 (Usart, adc 신호도 Interrupt로 전환)부산IT학원/스마트컨트롤러 2014. 5. 12. 14:04
58일차 -------------------------ATMeaga128 Interrupt------------------------- --- adc data도 interrupt로 전환 - adc.h 파일에 다음 내용 추가 ADC 인터럽트 함수인 vector_21 선언. - adc.c 파일에 다음 내용 추가 ADCSRA Reg에 ADIE를 set. - main.c 인터럽트를 초기화 중에는글로벌 인터럽트를 끄고모든 인터럽트들이 초기화가 끝났을 때글로벌 인터럽트를 켜야한다. - 프로그래밍 팁.프로그램을 짤 때 당연히 다른 소스와 연동이 되어야 한다.그런데 다른 소스에 의존도가 높아지면자신이 짠 소스를 사용할 때마다 그 다른 소스도 함께붙여넣어야 하므로되도록이면 다른 소스를 많이 의존하지 않는게 좋다. ---..
-
20140509 (Interrupt Reg)부산IT학원/스마트컨트롤러 2014. 5. 9. 11:30
57일차 ----------------------ATMega128 Interrupt---------------------- --- Interrupt 신호를 받는 시간 종류 - 상승 엣지란0v 에서 5v 로 바뀔 때 그래프로 표현하면 위의 그림과 같이상승하는 모서리가 생긴다고 상승 엣지라고 한다. - 하강 엣지란5v 에서 0v 로 바뀔 때 그래프로 표현하면 위의 그림과 같이하강하는 모서리가 생긴다고 하강 엣지라고 한다. - 기호 회사마다 상승 엣지, Positive Edge, Rising Edge등 부르는 이름이 다르다. --- Interrupt Reg - 외부 인터럽트는 총 8개 있는데EICRA, EICRB에 각 비트당 속성 이름을 보면ISC00, ISC01, ISC10, ISC11,.....ISC70,..
-
20140508 (Interrupt, 서적관리 프로그램 작성, open)부산IT학원/스마트컨트롤러 2014. 5. 8. 10:16
56일차 ----------------------ATMega128 Interrupt---------------------- --- 밥을 먹는데 큰게 마렵다. 그래서 화장실을 갔다와서 다시 밥을 먹었다.여기서 큰게 마려운것을 Interrupt 라고 부른다. 어떤 작업 중에 어떤 신호를 받아서 그 신호를 처리 하는 것을 인터럽트라고 한다. --- Polling인터럽트와 반대되는 개념으로 똥이 마려운지 계속 생각하는 것을 말한다.프로그램 코드로 짰을 경우 while, for문 등 반복문으로 어떤 신호를 받았나계속 체크 하는 것을 말한다. --- Interrupt, Polling 장단점 Interrupt- 처리속도가 빠르다.- H/W, S/W 적으로 처리되는 정해진 신호만 처리할 수 있음. Polling- 프로..