BASIC4MCU | 질문게시판 | 7 segment test 오류
페이지 정보
작성자 soom 작성일2019-12-19 00:26 조회3,710회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=11247
본문
#include <avr/io.h>
#define F_CPU 800000UL
#define __DELAY_BACKWARD_COMPATIBLE__
#include <util/delay.h>
#include <avr/interrupt.h>
unsigned char segment[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
int num = 0;
unsigned int _delay = 1000;
unsigned int i = 0;
int main(void)
{
DDRC = 0xFE;
PORTC = 0x00;
DDRA = 0xFF;
PORTA = 0xFF;
while (1)
{
PORTA = segment[num];
for(i=0; i<_delay; i++){
if((~PINC & 0x01)){
if(num == 5)
{
num = -1;
PORTC = 0x02;
_delay = _delay - 100;
_delay_ms(1000);
if(_delay<=500){
while(1){}
}
}else{
PORTC = 0x02;
while(1){}
}
}else{
PORTC = 0x00;
}
_delay_ms(1);
}
num++;
num = (num > 9)? 0 : num;
}
}
코드 이렇게 했는데, 7 segment가 0에서 멈춰서 안올라가요,,코드에 문제가 있는건가요? 아님 하드웨어적 문제일까요?
댓글 1
조회수 3,710master님의 댓글
master 작성일
while(1){ }
무한루프를 사용하면 빠져나오지 못하므로 먹통 됩니다.