오늘은 많은 것을 하였습니다.
저번시간에 LCD출력에 이어 그것을 응용한 것을 해보았습니다.
Stop & Start & Reset & 1분 증가
이 네가지 응용을 해보았습니다.
일단 Stop & Start 소스를 보면
vector_1 함수에
void __vector_1(void) //ㅇㅌㄹㅌ
{
volatile unsigned int uiCnt;
if(STOP==uiSstate)
{
TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(1<<CS01)|(1<<CS00);
uiSstate=START;
}
else
{
TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00);
uiSstate=STOP;
}
for(uiCnt = 0; 30000>uiCnt ; ++uiCnt);
}
이렇게 소스를 짜고 START 와 STOP은 당연히 헤더파일에 추가해야 합니다.
다음은 Reset 입니다.
vector_2 함수 내용을 다시 재정비 합니다.
void __vector_2(void)
{
volatile unsigned int uiCnt;
TCCR0B=(0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(0<<CS01)|(0<<CS00);
uiSec=0;
uiSstate=STOP;
for(uiCnt = 0; 30000>uiCnt ; ++uiCnt);
}
다음은 1분증가 입니다.
vector_3을 추가하고 헤더파일에도 올립니다.
void __vector_3(void)
{
volatile unsigned int uiCnt;
uiSec=uiSec+60;// 1분증가
for(uiCnt = 0; 30000>uiCnt ; ++uiCnt);
}
60s를 더하는 방식으로 1분을 더합니다. 저 수를 바구면 그에따라 증가하는 값도 바뀌겠죠?
작동영상입니다.
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
20160322_박진한_업무일지_펌웨어 실습 (0) | 2016.03.22 |
---|---|
20160321_김가연_업무일지_데이터시트, 시리얼통신 (0) | 2016.03.22 |
20163021-업무일지-이보원 펌웨어-usb 직접통신실습- (0) | 2016.03.22 |
20160321_노유찬_펌웨어실습(serial통신) (0) | 2016.03.22 |
머신러닝 무료 ebook 12개 (0) | 2016.03.22 |
20160321_조재찬_업무일지_펌웨어(UART) (0) | 2016.03.21 |
20160321_최기영_업무일지_펌웨어실습7_시리얼 통신 (0) | 2016.03.21 |
20160321_장진웅_업무일지_펌웨어 실습 (0) | 2016.03.21 |