인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이상오님의 프로필 이미지

작성한 질문수

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

1-Wire통신! 나름 유명했다. (온도센서) 4

온도센서 HardFault 질문

해결된 질문

작성

·

57

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 자주 묻는 질문에 혹시 답이 있을 수 있어요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

온도센서 강의 듣고 따라하다가 자꾸 HardFault_Handler에 걸려서 왜 그런가 찾아보니까 Ds18b20_Init();랑 Ds18b20_ManualConvert();을 주석처리 하면 HardFault에 안 걸리더라고요. 영상 다시 보면서 전부 똑같이 따라해도 HardFault에 걸리는데 뭐가 문제인가요?

답변 2

0

이상오님의 프로필 이미지
이상오
질문자

보드 +,-를 빵판 제일 위에 꽂고 온도센서 +, -를 빵판 제일 밑에 꽂은 상태였는데 혹시나 하고 온도센서 +,-를 좀 위로 올려줬더니 해결됐습니다. 빵판에 문제가 있는 걸까요?

ojtube5님의 프로필 이미지
ojtube5
지식공유자

안녕하세요.
제일 확실한건, 멀티 미터기로 쇼트 테스트를 해보는 거예요.

그러니깐.. 구멍이 뚫려있고, 원래는 연결되어 있어야하는데 내부적으로 끊겨 있을 수도 있어요.

그러면 빵판 불량이 맞아요.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 이상오님!

DS18B20 온도센서와 관련하여 HardFault 문제로 인해 어려움을 겪고 계신 것 같습니다. 이 문제는 주로 잘못된 메모리 접근이나 설정 오류로 발생할 수 있습니다. 다음은 문제 해결을 위한 몇 가지 점검 사항입니다:

  1. 배선 및 전원 공급 확인: DS18B20 센서는 1-Wire 통신 방식을 사용하며, 배선과 전원 공급 상태가 매우 중요합니다. 모든 핀이 제대로 연결되어 있으며 전압이 안정적으로 공급되고 있는지 확인해 보세요.

  2. 풀업 저항 점검: DS18B20의 데이터 라인에는 보통 4.7kΩ의 풀업 저항이 필요합니다. 저항이 올바르게 연결되어 있는지 확인하세요.

  3. 라이브러리 및 코드 점검:

    • Ds18b20_Init()Ds18b20_ManualConvert() 함수의 코드가 최신 라이브러리를 사용하고 있는지 확인하시고, 해당 라이브러리의 문서를 참조하여 구현이 올바른지 확인해 보세요.
    • 만약 초기화 과정에서 잘못된 메모리 영역에 접근하거나 누락된 설정이 있다면 HardFault가 발생할 수 있습니다.
  4. 디버깅 도구 활용: 개발 환경에서 제공하는 디버깅 툴을 활용하여 문제가 발생하는 지점을 추적해 보세요. Call Stack을 통해 문제가 발생한 함수의 흐름을 분석하는 것도 도움이 될 수 있습니다.

비슷한 문제를 해결하는 데 유용한 기존 질문 및 답변을 아래에 링크로 제공해 드립니다:

위의 조언들이 문제 해결에 도움이 되었으면 좋겠습니다. 추가적으로 강의 관련 지원이나 질문 사항이 있으시면 강의를 제공한 지식공유자님께 문의하셔서 보다 더 심층적인 도움을 받으실 수 있습니다. 저도 질문자님의 이해를 돕기 위해 유사한 질문의 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.