/*
* LED8on.c
*
* Created: 2020-12-07 오후 6:55:53
* Author : User
*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF;
while (1)
{
PORTB = 00000001;
_delay_ms(500);
for (int i=0; i<8; i++){
PORTB = PORTB << 1 ;
_delay_ms(500);
}
}
}
위의 코드처럼 하나의 동작인데 for문 속에 다 안넣고 for 위에 켜주고 딜레이 주고 + for 안에서 나머지 반복 처럼 따로따로 해주면
여러 동작이 있는 코드를 짰을 때 문제가 될 수 있다 ..
그래서 코드를 이렇게 짜줘야됨
아래코드 수정할것
/*
* LED8on.c
*
* Created: 2020-12-07 오후 6:55:53
* Author : User
*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF;
while (1)
{
PORTB = 00000001;
_delay_ms(500);
for (int i=0; i<8; i++){
PORTB = PORTB << 1 ;
_delay_ms(500);
}
}
}
'임베디드 > Atmega128' 카테고리의 다른 글
도트매트릭스 8x8 차례대로 켜기 / ㄹ 모양으로 흐르게 하기 (0) | 2020.12.09 |
---|---|
프로테우스 7.0 설정 (아트멜 스튜디오에서 코드 올릴 때) (0) | 2020.12.09 |
74LS47IC (0) | 2020.12.08 |
FND (7 segment) (0) | 2020.12.07 |
201203 프로테우스회로 / 코드리뷰 (0) | 2020.12.03 |