회원가입 ID/PW 찾기
AA
현재 제가 ATmega2560과 센서를 시리얼 통신으로 인터페이스하고 있는데 한가지 의문점이 있습니다.

과정을 설명하면
1. 키보드로 AVR에게 명령을 보냄.
2. 명령을 받은 AVR(RX0)은 다시 센서로 보낸다(프로그램 내부). 다시말하면 RX0로 받은 데이터를 TX3로 보냄.
3. 센서는 데이터(키보드로 보낸 명령)를 받으면 그에 해당하는 데이터를 AVR의 RX3로 받습니다.
4. RX3로 받은 데이터는 TX0를 통해 컴퓨터의 터미널 창에 뿌려지게 되어있습니다.

그런데 명령 몇가지중에 하나의 경우 명령을 입력하면 main문의 무한루프를 빠져나와 프로그램을 다시 시작해버려서
초기설정했던 보레이트로 설정이 바껴버리는데요.(이는 명령중에 보레이트 변경하는 명령도 있음). 그래서
센서의 보레이트설정을 바꿨다가 위의 경우처럼 어느 한명령으로 인해 프로그램이 재시작되어 보레이트 설정이 초기화가
되어버리므로 센서를 껏다가 켜지 않는 이상 센서로 명령을 보낼 수가 없습니다.
  
상식적으로 이해가 안되는 부분이 무한루프로 돌고 있는 프로그램이 어떤 명령어 하나 때문에 갑자기 무한루프를 프로그램을 다시 시작한다는것이 이해가 안갑니다. 이는 어떤 이유에서 일까요?

밑에 소스를 첨부하였습니다.
프로그램이 많이 허접하시더라도 양해부탁드립니다.
프로그램을 예로 들자면 G라는 명령을 받았을 때 프로그램이 무한루프를 빠져나와버립니다.
프로그램은 AVR Studio로 작성하였습니다.
댓글 1
  • No Profile

    무한루프가 빠져나온다기 보다는 특정한 이유때문에 시스템이 죽는건 아닐까 생각해봅니다.

    보통은 레지스터를 잘못운용하거나 오버플로우때문에 죽는경우가 일반적인데요..

    아래소스에서 Cmd_No 변수에 정확한 값이 저장되지 않았다면 시스템은 문제를 일으킬수도 있겠네요.

      case 'G' : for( i=0; i<Cmd_No; i++)  // Distance
            tx3_data(Cmd_Buf[i]);
           tx3_data(0x0d);
           break;


    제가 바뻐서 소스를 일일히 분석을 못해드리니 천천히 하나하나 점검해가세요.

    변수데이터부터 확인하는 습관을...(특히 통신이나 네트웍에서는 무결성을 보장할 수 없으니 확인하는 버릇을)

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

search
번호 분류 제목 글쓴이 조회 수 날짜
292 펌웨어 & 코딩언어 HOTjava ....5 あさひ 928 2008.08.19
291 마이크로프로세서 HOTDot Matrix 만들기!3 권인하 1587 2008.08.19
290 Software & IDEs HOT검색엔진의 문자열 논리연산 구현! 도와주세요 ㅡㅜ1 델리트 1120 2008.08.13
289 마이크로프로세서 HOT처음으로 부품을 사려고 하는데 질문 좀 드릴게요;ㅅ;7 너구리♬ 824 2008.08.11
288 마이크로프로세서 HOT열전대를 이용해 디지털 온도계 만들때?3 머쪄~ 985 2008.08.06
287 마이크로프로세서 HOT4거리 신호등 만들때요3 마모루 1310 2008.08.04
286 마이크로프로세서 HOT8051 고수님들 도와주세요3 마모루 641 2008.08.01
285 마이크로프로세서 HOT8051 4거리 신호등에서요2 마모루 870 2008.08.01
284 마이크로프로세서 HOT스테핑모터에 대하여 알고 싶습니다.1 하늘이 751 2008.07.30
283 마이크로프로세서 HOTIAR 컴파일러 포트제어 팁..;;2 야바 1640 2008.07.28
282 마이크로프로세서 HOT제가 요번 방학때...3 하늘가려 693 2008.07.25
281 마이크로프로세서 HOT-(마이너스) 전압 ADC 측정하는 법 ?!2 naemaum4u 4407 2008.07.16
280 마이크로프로세서 HOT제가 dc모터랑 rc서보모터의 제어를 공부중인데여5 수줍은머리칼 1977 2008.07.15
279 마이크로프로세서 HOT아크마님!! 플스패드에 관한 질문 드립니다1 saouna 683 2008.07.14
278 마이크로프로세서 HOT처음에 올린 질문이 너무 광범위해서 요약했어요11 무수리 865 2008.07.09
마이크로프로세서 HOT센서와 시리얼통신중에 이해안가는 부분이 있습니다.1 쎄단 979 2008.07.08
276 마이크로프로세서 HOT[질문]제가 마이크로마우스를 시작하려고 하는데요,4 무수리 859 2008.07.07
275 마이크로프로세서 HOTAT89S51 ??2 빠라삐리뽀 2564 2008.07.06
274 Software & IDEs HOT윈도우 상에서 비주얼 2005를 이용한 시리얼 포트 프로그래밍2 .ㅇㅈㅇㅈ 1078 2008.07.04
273 마이크로프로세서 HOT적외선통신 ....7 あさひ 1536 2008.07.02
Prev 1 ... 39 40 41 42 43 44 45 46 47 48 ... 58 Next
  • 인생은 반복된 생활이다. 좋은 일을 반복하면 좋은 인생을, 나쁜 일을 반복하면 불행한 인생을 보내는 것이다.
    - W.NL.영안
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.