회원가입 ID/PW 찾기
AA

안녕하세요?
아래와 같이 짜깁기 코딩을 했는데
PORTC의 0번 pin으로 분명히 CDS 센서값 high가 들어오는데 모터가 꼼짝을
안합니다...low에서도 반응없구요...
if 조건문에서 0x41로 준건 reset키 때문입니다.(PORTC 06번 reset은 평상시 high)
코딩 환경은 AVR GCC 입니다....
port로 입력을 정확히 받으려면 어떻게 해야할까요?


#define MOTOR_DDR DDRD
#define MOTOR_PORT PORTD
#define PWM1_ON (MOTOR_PORT|=0x01)
#define PWM1_OFF (MOTOR_PORT&=0xFE)
#define LED_ON (MOTOR_PORT|=0x02)
#define LED_OFF (MOTOR_PORT&=0xFD)
#define DIR1_ON (MOTOR_PORT|=0x02)
#define DIR1_OFF (MOTOR_PORT&=0xFD)
#define ENABLE1_OFF (MOTOR_PORT|=0x04)
#define ENABLE1_ON (MOTOR_PORT&=0xFB)
#define BREAK1_ON (MOTOR_PORT|=0x08)
#define BREAK1_OFF (MOTOR_PORT&=0xF7)

void Port_Init(void)
{
  //set Port B to output
  DDRB = 0xFF;
  //PORTB = 0x00;
  //set Port C to input
  DDRC = 0x3E;
  PORTC = 0x41;
  DDRD = 0xFF;
  PORTD = 0x00;
}


void DC_Motor(void)
{
 unsigned Tmp1;  
 int i, d, count=1;
 
 //Tmp1 = (PINC,0);
  if (PINC == 0x41){
     BREAK1_OFF;
     ENABLE1_ON;
     count++;
     DIR1_ON; // Ch1 정방향

     for(d=0; d<10; d++){ // 속도 조절
        for(i=0;i<100;i++){ // 10 번 PWM 발생
            PWM1_ON; // PWM1 신호 1
            delay(10-d);
            PWM1_OFF; // PWM1 신호 0
            delay(d);
            if(d==2) {BREAK1_ON; break;}
        } // 정지 (18200 Only)
    }
 }
    
    else if (PINC == 0x40){
           BREAK1_OFF;
           ENABLE1_ON;
           count++;
           DIR1_OFF; // Ch1 역방향

           for(d=0; d<10; d++){ //  속도 조절
              for(i=0;i<100;i++){ // 10 번 PWM 발생
                 PWM1_ON; // PWM1 신호 1
                 delay(10-d);
                 PWM1_OFF; // PWM1 신호 0
                 delay(d);
                 if(d==2) {BREAK1_ON; break;}
            }
         }
     }
}

int main(void)
{
 MCUCR = 0x00;
 Port_Init();  
 while(1){
    //LED_Control();   
    DC_Motor();
 }

댓글 2

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
1647 자유주제 HOTcode vision..3 워너자 4828 2010.04.28
1646 자유주제 HOT됐거든2 워너자 2312 2010.04.28
1645 자유주제 HOT각종 회로 많이 있는곳10 시시 5011 2010.04.28
1644 자유주제 HOT허걱7 jore 1676 2010.04.28
1643 자유주제 HOT얼굴이 같아요!!9 호야 1678 2010.04.27
1642 자유주제 HOT저도 대륙사진1 Wozi 1563 2010.04.26
1641 자유주제 HOTi wish home6 별빛소년 1591 2010.04.26
1640 자유주제 HOT졸면 안되기 때문에..11 엔젤루피님 1576 2010.04.25
1639 자유주제 HOT때문에 시리즈5 엔젤루피님 1564 2010.04.25
1638 자유주제 HOT니들만 상상하냐2 tanas 1532 2010.04.23
1637 자유주제 HOT회원거주지역에 왜? 제주는 없나요?6 네크로큐 9106 2010.04.23
1636 자유주제 HOT식당이름이..4 2S 1756 2010.04.23
1635 자유주제 HOT대략 표정이.....7 2S 1743 2010.04.23
1634 자유주제 HOT비닐봉지 지존...5 쭈와니 1547 2010.04.21
1633 자유주제 HOT노처녀 관상 특집?5 카레이야스 1727 2010.04.19
1632 자유주제 HOT캔통신을시작하려 하는데..5 카레이야스 10228 2010.04.19
1631 자유주제 HOT고기굽는 존슨9 hshyo 1791 2010.04.19
1630 자유주제 HOT[잡담] 윈도우 프로그래밍3 빛나는 영혼 4566 2010.04.18
1629 자유주제 HOT회로도 설명하는 사이트는 없을까요?4 dogsoccer 9999 2010.04.17
1628 자유주제 HOT질문점 드릴게요 op-amp2 wrtwer 3023 2010.04.17
Prev 1 ... 48 49 50 51 52 53 54 55 56 57 ... 135 Next
  • 음덕을 베푸틑 자는 반드시 양보를 받는다.
    - 회남자
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.