BASIC4MCU | 질문게시판 | ATMEGA128 서보 모터 제어 관련 질문 드립니다
페이지 정보
작성자 박상준 작성일2022-12-10 21:20 조회6,637회 댓글2건본문
SG90 DC 서보모터를 이용해 -40도 부터 40도까지 움직이다가 입력을 받으면 멈추게끔 while 문 안에 if문을 사용해서 입력을 받으면 멈추게끔 코드를 짜고 싶은데
어떤 짓을 해도 안 멈추고 계속 돌아갑니다...도움을 청하고 싶습니다 ( 해 본 코드들이 너무 많아 제일 처음 코드를 가져왔습니다)
#include <mega128.h>
#include <delay.h>
#define SW1 PINC.0
#define SW2 PINC.1
interrupt [TIM1_COMPA] void timer1_compare(void)
{
PORTA.0 = 0;
}
interrupt [TIM1_OVF] void timer_overflow(void)
{
PORTA.0 = 1;
}
void timer1_Init(void)
{
TCCR1A = 1<<WGM11 ;
TCCR1B = 1<<WGM12 | 1<<CS11 | 1<<CS10 | 1<<WGM13;
ICR1 = 4999;
TIMSK = 1<<TOIE1 | 1<<OCIE1A;
}
void main(void)
{
int i;
DDRA = 0xff;
DDRC = 0x00; PORTC = 0xff;
timer1_Init();
SREG |= 0x80;
while(1)
{
for(i=300; i<=450; i++)
{
OCR1A = i;
delay_ms(20);
}
for(i=450; i>=300; i--)
{
OCR1A = i;
delay_ms(20);
}
}
}
댓글 2
조회수 6,637전가스님의 댓글
전가스 작성일심민섭 교수님께 여쭤보세요!!
전가스2님의 댓글
전가스2 작성일낼가서 물어봅시다@@@@@@@@@@@@@@@@@@@