디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

간단한 switch-case문인데 동작이 좀 이상해서 질문있습니다.

Grinder갤로그로 이동합니다. 2010.11.03 00:17:56
조회 218 추천 0 댓글 10


안녕하세유....

뉴비가 죄송하게도 구조요청을 하게 되었습니다.


 do {
  button = PINF;
  switch (button) {
   case 0x01://button 01
    if (OCR0<246) OCR0 = OCR0 + 10;
    break;
   case 0x02://button 02
    if (OCR0>9) OCR0 = OCR0 - 10;
    break;
   case 0x04://button 03
    if (OCR1A<246) OCR1A = OCR1A + 10;
    break;
   case 0x08://button 04
    if (OCR1A>9) OCR1A = OCR1A - 10;
    break;
   case 0x10://button 05
    if (OCR1B<246) OCR1B = OCR1B + 10;
    break;
   case 0x20://button 06
    if (OCR1B>9) OCR1B = OCR1B - 10;
    break;
   case 0x40://button 07
    if (OCR1C<246) OCR1C = OCR1C + 10;
    break;
   case 0x80://button 08
    if (OCR1C>9) OCR1C = OCR1C - 10;
    break;
   default://no input
    OCR0 = OCR0 + 0;
    OCR1A = OCR1A + 0;
    OCR1B = OCR1B + 0;
    OCR1C = OCR1C + 0;
  }
 delay (50);
 } while(1);


ATmega 128에서 Fast PWM으로 DC모터 4개 제어하면서, Push button 8개에 연결한 PINF에서 받은 명령으로 각 모터의 속도를 조절하는 부분의 코드입니다. C/C++기반입니다.

OCR0은 모터 1번, OCR1A는 모터 2번, OCR1B는 모터 3번, OCR1C는 모터 4번입니다.

속도제어가 제대로 되는지 확인하려고  do while(그냥 while써도 되지만)에다 switch-case 이용해서 간단한 코드를 짜봤는데 뭔가 이상하게 동작하더군요.

AVR이고 뭐고 다 차치하고, 분명히 break도 썼는데 버튼을 눌렀다가 뗐을때에도 그대로 누르고있는것처럼 동작하고, 일단 버튼을 하나 누르면 다른버튼을 눌러도 아예 입력을 받지도 않습니다. 이건 뭐 case문이 루프명령어도 아닌데 왜 이러는건지 모르겠네요.

일단 PWM으로 모터 속도가 제어되는건 확인했으니 버튼 말고 다른걸로 하면 되긴 한다 쳐도, 간단한 코드인데 어디가 문제인지 잘 모르겠습니다.

혹시 무슨 이유인지 아시는분 계시면 알려주시면 감사하겠습니다orz

실제로 만들어서 코드 넣은건 아니고, Protheus VSM으로 돌린 시뮬레이션입니다.

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
227752 잠시 유동 ㅁㅁ님과 토론을 해야할것같아요 비베코드50만 [13] 헛개미\'ㅅ\'갤로그로 이동합니다. 10.12.29 141 0
227751 곳 학교복학하게 되는데..짝학기임. [9] 헛개미\'ㅅ\'갤로그로 이동합니다. 10.12.29 175 0
227750 컴퓨터가 재미있다고요? [5] nRST갤로그로 이동합니다. 10.12.29 163 0
227748 미디어의 폐해네 대해 어제 어떤아가씨들니 얘기하더라 [4] 개쉛기갤로그로 이동합니다. 10.12.29 160 0
227747 ㅠㅠ그 용서받지 못한자 리뷰인데 너무 슬프다.. [3] 꿀레갤로그로 이동합니다. 10.12.29 159 0
227746 희망을 버리지 마세요. [1] nRST갤로그로 이동합니다. 10.12.29 83 0
227745 자바코드를 비베코드로 바꾸는게 어려운거임? 효읃ㄹ? [8] 헛개미\'ㅅ\'갤로그로 이동합니다. 10.12.29 152 0
227740 저동영상에 병장 하정우아님? [5] 꿀레갤로그로 이동합니다. 10.12.29 152 0
227738 프갤러들아 컴퓨터 책상 추천좀.. [3] ㅇㅂ(112.221) 10.12.29 110 0
227737 오빠야들 군대가면 다 저러나? [6] iljeomobolt갤로그로 이동합니다. 10.12.29 198 0
227734 c프로그래밍 언어 [6] avby(125.140) 10.12.29 149 0
227733 입갤! [5] 해일리갤로그로 이동합니다. 10.12.29 72 0
227730 지금 있는데보다 한단계 상위로 이사가고 싶은데 [2] 분당살람갤로그로 이동합니다. 10.12.29 73 0
227729 그러고보니 서양요리와 동양의 요리는... [4] 땡칠도사갤로그로 이동합니다. 10.12.29 151 0
227728 아 진짜 음악하고싶다. [2] 냠냠(121.130) 10.12.29 96 0
227727 이제 새해가 며칠 안남았군... [7] 땡칠도사갤로그로 이동합니다. 10.12.29 118 0
227726 인생이 심심해서 견딜수가 없다. [4] Finalizer갤로그로 이동합니다. 10.12.29 113 0
227725 요즘 알보칠에 물타서 파냐 [2] 갤러리갤로그로 이동합니다. 10.12.29 126 0
227724 프갤 여갤언니들은 개념이 꽉차 있는거 같애 [8] 일광면(211.205) 10.12.29 206 0
227723 나는 프로그래머가되서 프로글래머랑 결혼해야지. [2] 냠냠(121.130) 10.12.29 147 0
227722 총마다 속도가 다른건 당연히 알지 [11] 개연성(221.162) 10.12.29 206 0
227721 PVPGN 한번이라도 해봤던형 있으면봐주세요 ㅠㅠ [6] ㅇㅇㅇ(119.207) 10.12.29 146 0
227720 패킷스나이핑 으잌ㅋㅋㅋㅋㅋㅋㅋ [1] 풋사과1갤로그로 이동합니다. 10.12.29 348 0
227719 그러니까말야 ㅇㅇ 안보이는값 메모리로 [12] 개연성(221.162) 10.12.29 115 0
227718 ㅋ게임엔진 툴의 이 애매함이란 [7] 겜프머(121.131) 10.12.29 191 0
227717 밸류 바꾸면 탐지 [3] 개연성(221.162) 10.12.29 87 0
227715 ㅁㄴㅇㄹ횽 안보이는값 질문 ㅎ [2] 개연성(221.162) 10.12.29 71 0
227714 int 사이즈보다 큰것을 저장할때 [5] 몽클몽클갤로그로 이동합니다. 10.12.29 163 0
227713 지적 설계론 [5] 유리한갤로그로 이동합니다. 10.12.29 171 0
227711 밤새다보면 안경쓰는것을 피해갈수없다던데 사실인가여 [3] 풋사과1갤로그로 이동합니다. 10.12.29 114 0
227709 퇴개르 냠냠(121.130) 10.12.29 48 0
227708 정모하면 형도불러라 긴쟝하지말고 [3] 죶밥들(61.253) 10.12.29 102 0
227707 아슈ㅣ바 지금까지 JAVA할만했는데.. [3] 꿀레갤로그로 이동합니다. 10.12.29 136 0
227706 강제 부산 정모 공지 [6] 넉넉한터갤로그로 이동합니다. 10.12.29 129 0
227704 형들 궁금한게 있는데 [3] 알트(221.161) 10.12.29 66 0
227703 Great Code 랜달 하이드 이책 보신분있음? 글고 TCP/IP책 [3] 읭읭읭읭갤로그로 이동합니다. 10.12.29 128 0
227702 결국니들은 그럴싸한 문제풀이 게임하고 자랑 하는거내 응용하는 분야가 어딘 [14] 죶밥들(61.253) 10.12.29 135 0
227701 하드 2테라 짜리 사고싶다 너무 하드가 작아 시foot [3] 풋사과1갤로그로 이동합니다. 10.12.29 103 0
227699 이쯤에서 [10] 넉넉한터갤로그로 이동합니다. 10.12.29 144 0
227697 근데 프로그래머는 군대가면 그냥 복무하나 정보통신부가 아니여서 통신병못하 [13] 풋사과1갤로그로 이동합니다. 10.12.29 174 0
227696 어셈 뭐 강좌나 이런거 보면 ㅇ.ㅇ [16] 개연성(221.162) 10.12.29 197 0
227695 PG어 잊지 않았습니다 (2) [5] Rei@디씨갤로그로 이동합니다. 10.12.29 99 0
227694 니들이프로그래머라면 답해바라 [19] 죶밥들(61.253) 10.12.29 251 0
227693 PG어 잊지 않았습니다 [2] Rei@디씨갤로그로 이동합니다. 10.12.29 149 0
227691 와닝 11개나 떳으나 돌아간다 [3] 꿀레갤로그로 이동합니다. 10.12.29 98 0
227690 pvpgn 하고있는데 너무어렵네여 [1] ㅇㅇ(119.207) 10.12.29 99 0
227687 형들 어셈질문요.. 이거도 병신같은 질문인가여 .. [29] 개연성(221.162) 10.12.29 173 0
227686 PG어를 기억하십니까? [1] ∫ 2t dt=t²+c갤로그로 이동합니다. 10.12.29 183 0
227685 플갤에서 답글이 달리도록 하는 방법. [4] 냠냠(121.130) 10.12.29 65 0
227684 elwlwlwk횽만 봅니다 [1] Vita500갤로그로 이동합니다. 10.12.29 53 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2