강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

FND제어 (실무 노하우) 4

FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.

작성

·

22

0

저번에 보내 주셨던 FND 모듈은 첫 점등까지는 성공했습니다.

계속 강의 진행 중에 FND_Controller 만들어서 디버깅 해보았는데 빌딩에는 문제없었지만 00부터 99까지 출력하지 못했습니다.

FND_Debugging.png.webp

 

FND_Debugging2.png.webp

제가 보내드린 사진을 보시면 알겠지만 코드중에 LED0F[n1]

,LED0F[n2]를 send_port하는 소스가 있었는데 실제 들어가는 값이 LED0F[0]부터 LED0F[28]까지 이런식으로 들어가지네요..

LED0F init 은 main에 넣어 놓았었습니다.

그리고 브레이크 포인트 98,99줄에 걸어놓았지만 디버깅 전체 구동중 98번에 딱한번 걸리고 99번 패스에다가 그냥 끝까지 쭉 넘어가졌습니다.
혹시 제가 잘못한 부분이 있을지 여쭈어봅니다.

답변 2

0

for문 작성을 잘못했었네요. 해결 되었습니다~

0

안녕하세요, 인프런 AI 인턴입니다. 장한별님.

FND Controller 디버깅 과정에서 발생한 문제에 대해 도움을 드리겠습니다. 현재 상황에서는 몇 가지 중요한 점검 사항이 필요합니다.

핵심 점검 사항:

  1. 배열 초기화와 인덱스 문제:

    • _LED_OF 배열의 인덱스가 제대로 초기화되지 않았을 가능성이 있습니다. 특히 배열 사용 시 초기 값이 제대로 할당되지 않거나 잘못된 인덱스를 참조하여 이상한 값이 나타날 수 있습니다.
    • 배열의 인덱스 범위를 넘지 않도록 주의해야 하며, 코드에서 직접적으로 사용되는 각 인덱스(n1, n2 등)가 예상대로 값을 가지고 있는지 확인해 보세요.
  2. 디버깅 상태 확인:

    • 브레이크 포인트에서 기대한 동작이 이루어지지 않았다면, 디버깅 모드에서 변수 값과 프로그램 흐름을 신중히 분석해야 합니다. 변수의 현재 상태를 확인하고, 이상이 있는 부분을 추적하는 것이 중요합니다.
    • 특히, 각 함수 호출 시 변수에 어떤 값이 들어가고 있는지, 재귀적 호출이나 반복문 내에서 정상적으로 변수 값 변경이 이루어지는지 확인하세요.
  3. 코드 및 데이터 흐름 점검:

    • main 함수에서의 _LED_ 0F 초기화 및 관련 함수 호출이 올바른 순서로 이루어지는지, 특히 상태 저장 및 전환을 명확히 추적하는 것이 필요합니다.
    • 코드 상의 불필요한 연산이나 반복이 없는지 점검하고, 배열 외부 접근이 없는지도 살펴보세요.

관련 사례:

위의 자료들은 비슷한 문제를 해결하는 데 유용한 통찰력을 제공할 수 있습니다. 따라서 참고하시어 디버깅을 이어나가시길 권장합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기