목록Univ/AVR atmega128 (34)
ITGenerations
이번 시험은 정말 뭐라고 형용할 수 없는 그런 시험인 것 같다.USB파일에 시험 문제를 제출하는 것인데, 그 파일을 확인안하고 그냥 제출 해버린게 화근이 된 것이다.물론 내 실수지만, 이런 실수로 인해 정말 열심히 공부했던 것이 아무것도 아니게 되어버린게 정말 아쉽다.이러한 사건으로 인해, 담당 교수님께서도 아쉬워하면서도 위로해주셨다.정말 감사하다. 하지만, 이번 일로 인해 시험으로 인한 스트레스를 참지 못하고 분출해버렸다.다행히, 지금은 어느정도 풀었지만서도...힘내자.실수하지말자.잘할 수 있다.
내부 풀업저항을 사용해도 될 때의 경우를 비교하면은 취향차이로 내부 혹은 외부풀업 저항을 사용하는것인데 보통 내부풀업을 사용한다. 왜냐하면 내부풀업이 단가가 줄어들기 때문이다. 내부풀업을 쓰지않고 외부풀업을 사용하는 이유는 보다 정밀한 제어를 한다고 하면 내부풀업을 사용하지 않고 외부풀업을 사용한다.
회로작업중에는 커넥터를 뽑아놓는다: 메인보드가 날라갈 수 도 있기 때문에 매번 커넥터를 뽑아놔야된다. 새로운 프로젝트에 코드작성 및 컴파일 : 매번 새로운 프로젝트로 실행을 하는게 가장 좋다. 그 이유는 기존 코드를 주석처리하더라도 헤더파일 혹은 기존파일과 병행하면서 썻던 다른 파일은 새로운 코드를 작성할 때컴파일하고 실행하면서 충돌을 일으킬 수 있기에 새로운 프로젝트에 실행을 하거나 기존 코드를 모두 주석 처리하는게 좋다.하지만 오류 혹은 에러를 줄이기 위해서는 새로운 프로젝트에서 실행하는것을 추천한다.
// source 21// LED 2개중 하나가 더빠르게 (2배 빠르게)// LED 속도제어// OCRn 숫자 변경방법 #include #include ISR(TIMER0_COMP_vect){static int led=0;static char n_enter=0; n_enter++; if(n_enter == 50) // 50*10 = 500ms{n_enter = 0;if (led){ led = 0;PORTA |= 0x01;}else {led = 1;PORTA &= ~(0x01);}} } ISR(TIMER2_COMP_vect){static int led=0;static char n_enter=0;//TCNT2 =0x4E ;n_enter++; // n_enter ==25로 하는 이유: 카운트가 0~25 /0~..
// source 20// LED 2개중 하나가 더빠르게 (2배 빠르게)// LED 깜빡이기 속도 제어// e_enter 함수 변경 방법 /*#include #include ISR(TIMER0_COMP_vect){static int led=0;static char n_enter=0; n_enter++; if(n_enter == 50) // 50*10 = 500ms{n_enter = 0;if (led){ led = 0;PORTA |= 0x01;}else {led = 1;PORTA &= ~(0x01);}} } ISR(TIMER2_COMP_vect){static int led=0;static char n_enter=0; n_enter++; // n_enter ==25로 하는 이유: 카운트가 0~25 /0~50..