회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
46 개발용역 HOT의뢰:arm으로 펌웨어 개발 해 주실분 있을까요? 땜고수 5184 2010.04.29
45 개발용역 HOT프리랜서 또는 정규직 pic dsp pwm 설계및 개발직모집 연락바랍니다1 요세스키 9430 2010.04.14
44 개발용역 HOT운영자님 및 전문가 여러분께, 개발 관련 문의드립니다.3 랜시스 4433 2010.04.08
43 개발용역 HOTTI C6000 관련 개발 가능하신 분! motionix 4686 2010.02.22
42 개발용역 HOT전력전자 관련한 펨웨어 개발자 모집 합니다. 마정 5277 2010.01.19
41 개발용역 HOTC8051F310으로 Sensorless Motor 제어 프로그램 개발 모젠 5392 2010.01.07
40 개발용역 HOT대학에서 2월까지 모터 구동 아르바이트 하실 분2 남지우 5082 2010.01.07
39 개발용역 HOT하드웨어 설계 및 개발 & 소프트웨어 개발 & PCB 아트웍 해드립니다.5 테나르 9977 2010.01.07
38 개발용역 HOT소프트웨어 알바로 개발 하실분 게시나요5 신지 6879 2009.12.07
37 개발용역 HOTpcb 아트웍 소개1 천사토끼 8661 2009.10.21
36 개발용역 HOT콘덴서 마이크가 AVR16으로 잡는데 신호가 잘 안들어옵니다.5 화니이 4342 2009.08.19
35 개발용역 HOT광센서 LED 기판..이런거 의뢰 가능한가요?4 최대한 3785 2009.08.12
34 개발용역 HOTPCB설계 및 H/W 개발 프리랜서&알바 bobby 6891 2009.08.07
33 개발용역 HOTPCB 설계 (Artwork) take,take,take 3841 2009.07.06
32 개발용역 HOTS/W 개발의뢰 합니다. 전설의교양 4793 2009.07.01
31 개발용역 HOTpads 정규직 채용합니다 세라 3796 2009.06.22
30 개발용역 HOT개발의뢰합니다. 모션맨 3891 2009.06.21
29 개발용역 HOT제작의뢰 합니다. kwanho84 3822 2009.03.23
28 개발용역 HOT프리랜서 혹은 정규직 모십니다. 레컬 4607 2009.03.13
27 개발용역 HOT"저렴한 가격으로, 최고의 품질을!!" ARTWORK 해드립니다!!3 아트비젼 4395 2009.01.29
Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
  • 사랑은 홍역과 같다. 우리 모두가 한번은 겪고 지나가야 한다.
    - J.K 제롬
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.