인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.
작성
·
22
0
저번에 보내 주셨던 FND 모듈은 첫 점등까지는 성공했습니다.
계속 강의 진행 중에 FND_Controller 만들어서 디버깅 해보았는데 빌딩에는 문제없었지만 00부터 99까지 출력하지 못했습니다.


제가 보내드린 사진을 보시면 알겠지만 코드중에 LED0F[n1]
,LED0F[n2]를 send_port하는 소스가 있었는데 실제 들어가는 값이 LED0F[0]부터 LED0F[28]까지 이런식으로 들어가지네요..
LED0F init 은 main에 넣어 놓았었습니다.
그리고 브레이크 포인트 98,99줄에 걸어놓았지만 디버깅 전체 구동중 98번에 딱한번 걸리고 99번 패스에다가 그냥 끝까지 쭉 넘어가졌습니다.
혹시 제가 잘못한 부분이 있을지 여쭈어봅니다.
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 장한별님.
FND Controller 디버깅 과정에서 발생한 문제에 대해 도움을 드리겠습니다. 현재 상황에서는 몇 가지 중요한 점검 사항이 필요합니다.
핵심 점검 사항:
배열 초기화와 인덱스 문제:
_LED_OF배열의 인덱스가 제대로 초기화되지 않았을 가능성이 있습니다. 특히 배열 사용 시 초기 값이 제대로 할당되지 않거나 잘못된 인덱스를 참조하여 이상한 값이 나타날 수 있습니다.
- 배열의 인덱스 범위를 넘지 않도록 주의해야 하며, 코드에서 직접적으로 사용되는 각 인덱스(
n1,n2등)가 예상대로 값을 가지고 있는지 확인해 보세요.
디버깅 상태 확인:
- 브레이크 포인트에서 기대한 동작이 이루어지지 않았다면, 디버깅 모드에서 변수 값과 프로그램 흐름을 신중히 분석해야 합니다. 변수의 현재 상태를 확인하고, 이상이 있는 부분을 추적하는 것이 중요합니다.
- 특히, 각 함수 호출 시 변수에 어떤 값이 들어가고 있는지, 재귀적 호출이나 반복문 내에서 정상적으로 변수 값 변경이 이루어지는지 확인하세요.
- 브레이크 포인트에서 기대한 동작이 이루어지지 않았다면, 디버깅 모드에서 변수 값과 프로그램 흐름을 신중히 분석해야 합니다. 변수의 현재 상태를 확인하고, 이상이 있는 부분을 추적하는 것이 중요합니다.
코드 및 데이터 흐름 점검:
main함수에서의_LED_ 0F초기화 및 관련 함수 호출이 올바른 순서로 이루어지는지, 특히 상태 저장 및 전환을 명확히 추적하는 것이 필요합니다.
- 코드 상의 불필요한 연산이나 반복이 없는지 점검하고, 배열 외부 접근이 없는지도 살펴보세요.
관련 사례:
- FND 관련 문제가 생겼는데 어떤 문제인지 알 수 있을까요?에서는 FND의 전원 및 초기화 문제에 대한 해결책이 논의되었습니다.
- FND를 제어하자 3 실무 노하우에서는 제어 과정에서 발생할 수 있는 다양한 문제 및 해법을 제시하고 있습니다.
위의 자료들은 비슷한 문제를 해결하는 데 유용한 통찰력을 제공할 수 있습니다. 따라서 참고하시어 디버깅을 이어나가시길 권장합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





