회원가입 ID/PW 찾기
AA
안녕하세요..
예전에는 된 것 같은데 interrupt에서 변수 값을 바꿔도 main에서는 안변하네요.
간단한 것 같은 데 잘 안되요...

interrupt에서 m_ReadReq을 바꾸고 main에서 PORTD.1을 이용하여 보는 데 동작을 안하네요...
main에서 출력하지 않고 interrupt에서 출력하면 잘 됩니다.

뭔가 실수한 것 같은데 잘 모르겠습니다.
잘 부탁드립니다.
참 compile은 win-AVR에서 했습니다.
댓글 5
  • No Profile
    글쓴이 도리형 10.08.16 15:04 댓글 좋아요 0 싫어요 0
    자답 : 전역변수 선언이 문제였네요...
    winAVR에서는 interrupt에서 전역변수를 쓸려면 단순히
    U8 m_ReadReq; 라고 하면 안되고
    volatile U8 m_ReadReq; 이라고 선언해야 하네요.
  • No Profile
    volatile 이란 keyword는 compiler의 최적화를 억제하는 키워드일 뿐입니다. 컴파일러의 최적화에 의해서 전역변수로 상용할 수 없었을 뿐인 거죠!

    --> 확실하지 않지만 Ram영역에 변수를 기록할 때 사용하는 변수로도 알고 있는데 제가 잘 못 알고 있는 것인지 해서 ㅎㅎ
    dohyunpak@yahoo.co.kr로 연락 부탁드립니다.
  • No Profile
    글쓴이 도리형 10.08.30 14:22 댓글 첨부 1 좋아요 0 싫어요 0
    정확히는 모르겠는데 AVR-GCC기반에서는 꼭 써야 한다고 하네요.. 다른 컴파일러에서는 써도되고 안써도 되는.....
    (copy해서 약간 수정한 글입니다....
     AVR-GCC컴파일러는 여러개의 태스크들이 동시 다발적으로 실행되는 리눅스 OS를 위해 개발된 컴파일러이고 운영체제에 의해 태스크들이 스케줄링되므로 메모리 할당 받은 영역이 그 때 그때마다 다를 수 있음. 그때마다 인터럽트 서비스 루틴내에 사용되 전역변수 값이 바뀌게 되거나 다른 태스크에 의해 간섭을 받게 되면 문제가 생기므로 아예 간섭받지 않는 별도의 영역에 할당해 버림->이것이 volatile로 선언된 전역변수임)
    대충 알것 같기도..... 밑에 파일 첨부합니다.  위 내용은 28page 하단 부터 있습니다.
  • No Profile
    헉 QA에서도 납이 없어서 다운이 안되네요.. 잉잉..
    으싸 으싸 열씸히 납을 쌓아야 겠습니다.
  • No Profile
    ^^ 인터럽트는 main 문과 다른 함수입니다.^^

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

search
번호 분류 제목 글쓴이 조회 수 날짜
116 Allegro & OrCAD HOT4층설계시 그라운드카퍼를 ... ....,3 1815 3304 2010.08.27
115 Allegro & OrCAD HOT좋은 책 소개 부탁그립니다. 미스메이커 1692 2010.08.27
114 PADS HOTpads 2007을 Window7에 설치할수 있나요?15 도연사랑 7215 2010.08.12
113 Allegro & OrCAD HOTorCAD Capture에서 회사 로고 따위 삽입하기?3 Kaye 5204 2010.08.09
112 PADS HOTartwork에 관해 궁금한점이있습니다.4 artwork고수과정코스 1999 2010.08.05
111 ECAD 아무거나 HOT임피던스?10 엠군 5561 2010.08.03
110 Allegro & OrCAD HOT아래 내용과 이어지는 오류입니다. 노뜨라인 2454 2010.08.03
109 PADS HOTartwork 부품배치 및 배선에 관련된 질문입니다.2 dkqp 2424 2010.07.30
108 ECAD Simulation HOT회로자체가 구성이 안되는지 계속 오류가 납니다.(구형파-> 4017counter)2 노뜨라인 2939 2010.07.25
107 Allegro & OrCAD HOTorcad 파형보는데 계속 오류가 나네요..2 노뜨라인 2682 2010.07.08
106 Allegro & OrCAD HOTorcad layout 보드 크기 표시2 TreeOfDream 1857 2010.07.04
105 PADS HOT현재 PCB를 가지고있는데요10 레즈온 2586 2010.06.30
104 PADS HOTPADS2007 설치관련 질문드려요7 식당 6293 2010.06.29
103 ECAD Simulation HOTDependent Source를 Psipce에 그리는방법...1 참치통조림 3071 2010.06.29
102 PADS HOT서적 추천좀 부탁드립니다.5 레즈온 2204 2010.06.24
101 Allegro & OrCAD HOTlayout 가 없는데요..2 그냥이임 1865 2010.06.16
100 Allegro & OrCAD HOTorcad에 관하여 궁금한점[이론] 케빈네쉬 1744 2010.06.15
99 PADS HOTPADS에 입문하고 싶은데요..12 쩡투 2492 2010.06.14
98 Allegro & OrCAD HOT코퍼깔고 비아를 넣었는대 작업이 안된선이 있는것으로 나오면? 어떻게 해야 하나요 ?4 우가우가 2035 2010.06.14
97 ECAD 아무거나 HOT혼자서 집에서 에칭 하고 있습니다1 TreeOfDream 4069 2010.06.13
  • 나의 음악은 어린아이들과 동물들이 가장 잘 이해한다.
    - 스트라빈스키
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.