회원가입 ID/PW 찾기
AA

1. USART1_IRQHandler() 가 발생되면 데이터를 버퍼(큐) 에 저장하고, 0x0D / 0x0A 가 나오게 되면

   수신된 데이터를 분석하고, FLASH 에 저장하게 됩니다. 이때, FLASH ERASE 를 하게 되는데요.

   FLASH ERASE 를 하는 중에 TIM2_IRQHandler 혹은 USART1_IRQHandler() 가 발생할 경우가 생기게 되는데.

   FLASH ERASE 가 시간이 걸려서 그런지 위 두 인터럽트가 발생하지 않습니다.

   TIM2_IRQHandler 가 발생하게 되면 LED 를 깜박거리게 해 놓았는데, FLASH ERASE 하는 중에는 잠시 멈추는 현상이 되네요.

   그리고, FLASH ERASE 를 하는 중에 USART1_IRQHandler() 가 발생하여 받은 데이터를 또 다시 처리를 해야 하는데.

   FLASH ERASE 를 하는 중에는 데이터가 수신이 되지 않습니다.

 

2. Virtual COM Port 를 이용해서 디버그 메시지를 출력하도록 구현

  : USB_LP_CAN1_RX0_IRQHandler() : USB_Istr() 와 같이 구현하고, 출력 데이터는 버퍼(큐) 에 저장하고,

    ST 에서 제공하는 EP1_IN_Callback() 과 SOF_Callback() 으로 데이터 유실 없이 출력하도록 구현하였습니다.

  : 그런데, 위 1번과 마찬가지로 USART 에서 수신된 데이터를 Virtual COM Port 로 출력을 하는 중에

    데이터가 수신되었음에도 불구하고  USART1_IRQHandler() 가 발생을 하지 않습니다.

 

위와 같은 상황을 해결하려면 RTOS 를 넣어야 할까요? 아니면 잘 모르지만 Mode Privilege 를 이용해야 할까요?

 

이 상황을 간단히 재현하기 위해서 아래와 같은 테스트를 해 보았습니다.

 

1. main() 함수에서 특정한 문자가 들어올 경우 while(1){} 를 하도록 하면, TIM2_IRQHandler 가 발생을 하더군요.

2. USART1_IRQHandler() 가 발생할 경우 while(1){} 를 하도록 하면, CPU 가 멈추는 현상이 발생하여

   TIM2_IRQHandler 가 발생을 하지 않습니다.

 

제가 간단히 테스트를 한 것이 Mode Privilege 랑 연관성이 있을까요?

 

답변 부탁드립니다.

 

댓글 2
  • No Profile
    저두 이제막 접한거라 부족하지만;;;

    플래그를 활성하 하시면 그나마 풀리지 않을까 생각 듭니다
    그리고 cpu가 다운 먹는다기보단 중간에 연산과정에서 무한 루프를 돌고 있을수 있습니다.
    인터럽트 처리중 또 인터럽트가 들어와 연산 과정중 꼬이는 현상이 발생하더라구요;;;
    그래서 연산을 마무리 짓고 빠져 나와야 하는데 수치가 중간에 바뀐다던가 해서 연산식을 못 빠져 나가는
    현상이 생기더라구요;;

    통신을 모두 받고 나서 cr, lf 가 수신 되었을시 플래그 변수 를 하나 넣어서 참으로 바뀌게 한뒤
    while에서 조건 문을 넣어놓고 플래그가 참일경우 연산하게 구현을 해야 할듯 합니다.

    그렇게 되면 중간에 통신 받는중에 또 받 더라도 최종적인 데이터만 처리하게 되겠죠;;;

    횡설수설 한것 같은데 ㅠㅠ ;; 인터럽트 ㅠㅠㅠ 무조건 쓴다고 좋을줄 알았는데 저도 이래저래 막히는게 생기네요 ㅠㅠ
    도움이 되셨는지 모르겠네요 ㅠㅠ
  • No Profile
    아;; 인터럽트 순서는 정하셨죠?

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

search
번호 분류 제목 글쓴이 조회 수 날짜
376 드론/로봇/라인트레이서 HOT아크마라인트레이서 회로도 질문입니다~2 천년동안 1982 2010.09.03
375 전기전자 아무거나 HOTAvr 모듈 어떤것이 좋을까요.2 라하힘 891 2010.08.31
374 드론/로봇/라인트레이서 HOT아크마 라인트레이서 회로도의 의문점 질문입니다!1 천년동안 1281 2010.08.30
373 전기전자 아무거나 HOT전류모드 cmos 회로 관련질문 (꼭좀도와주세요..);;; 리봉가오 1120 2010.08.28
372 드론/로봇/라인트레이서 HOTMB라인마우스 회로도좀 구할수없을까요..2 오고고 1345 2010.08.27
371 드론/로봇/라인트레이서 HOTMB 라인마스우 SENSOR CON20 질문요 ~1 천년동안 1172 2010.08.26
370 전기전자 아무거나 HOT광센서와 모터연결쪽 관련 공부할려면 머부터해야하나요..3 온니무 901 2010.08.25
369 전기전자 아무거나 HOTRC저역통과 필터와 파이형 필터의 차이점1 내이름32 3848 2010.08.21
368 드론/로봇/라인트레이서 HOT라인트레이서 여기 올라와 있는 소스 컴파일을 했는데 오류가 떠요..1 vorcot 1391 2010.08.20
367 전기전자 아무거나 HOTLED를 100개를 배터리로 구동하려면...2 jjogi 1160 2010.08.19
366 전기전자 아무거나 HOT스피커 단선 경보회로좀 부탁드립니다2 너구리한마리 1337 2010.08.17
365 전기전자 아무거나 HOT전자회로수리2 핸섬 1450 2010.08.16
364 드론/로봇/라인트레이서 HOT라트소스를 짜는데요 실제 구동은 좀 이상하네요 Mirel 1491 2010.08.16
363 전기전자 아무거나 HOTIBM 하드웨어 이론 핸섬 869 2010.08.15
362 전기전자 아무거나 HOT초보자 질문2 별헤는 밤 875 2010.08.13
361 드론/로봇/라인트레이서 HOTAVR초음파 센서 관련입니다... 칠흑광자 2347 2010.08.11
360 Analog & Mixed-Signal 설계 HOTcan통신관련 문의 드립니다.2 우가우가 2668 2010.08.10
359 전기전자 아무거나 HOT자신 있는 사람...!8 kiki 813 2010.08.10
358 전기전자 아무거나 HOTCSIEDA 을 사용해야 하는데요..2 풍림화산 1126 2010.08.10
357 드론/로봇/라인트레이서 HOT많은 도움 부탁드립니다!!!1 피터팬 1082 2010.08.09
Prev 1 ... 16 17 18 19 20 21 22 23 24 25 ... 39 Next
  • 친구들을 불신한다는 것은 그들에게 속은 것보다 더 수치스러운 일이다.
    - 로셔푸코
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.