ds18b20 Address 값 오류
안녕하세요 강사님, 항상 열정적으로 강의해주셔서 감사합니다.
다름이 아니라, 온도센서 구현 중에 발견한 문제점으로 질문을 남기게 되었습니다.
Ds18b20_Init(); 함수를 호출하기 전과 후를 비교해서 강의에서 보는 바와 같이 Address[0] ~ [7] 까지의 값이 실시간으로 0에서 다른 값으로 바뀌어야 되는데, Live expressions로 본 결과 바뀌지 않고 있습니다.
사실, 온도 센서를 모듈과 결합할 때 피복을 벗겨낼 필요 없이 핀으로 되어있었다는 것을 뒤늦게 알아서 Vcc, GND, DAT 선 모두 구리선 몇 가닥으로 연결된 상태입니다. ㅠㅠ
코드는 강의 그대로 따라서 오류 없이 작성한 상태인데, HW 모듈 자체 문제인지, 모듈과 온도 센서와의 접합 부분의 문제인 것인지, 소스코드 문제인지, 정확한 디버깅이 어려운 상태입니다.
참고로, PA3은 DAT 핀, Vcc는 3.3V, GND는 GND 핀에 연결해둔 상태입니다. ioc 클락 설정은 (8-1), 0xFFFF이며, PLL을 사용하지 않고 HSI 그대로 받아서 사용 중입니다.









답변 2
0
안녕하세요.
고생하고 계시는군요.
임베디드 개발은 고통이 수반됩니다.
특히, 하드웨어와 소프트웨어 중 무엇이 문제인지, 혹은 설정이 문제인지 모를 때...
이런 상황은 임베디드 개발을 하다 보면 자주 마주치게 됩니다.
여기서 가장 중요한 건, 문제를 잘게 쪼개는 것입니다.
먼저 코드에 문제가 없다면, 설정을 꼼꼼히 확인하세요.
그리고 그 과정에서 단순히 설정을 따라 하기보다는,
각 설정이 왜 그렇게 되어 있는지, 의미를 하나하나 이해하면서 넘어가시는 걸 추천드립니다.
그러다 보면, 생각지도 못한 실수를 발견하게 될 수도 있습니다.
이것저것 다 점검했는데도 문제가 없다면,
이제는 하드웨어 디버깅으로 들어가야 합니다.
물론, 센서 고장일 가능성도 있습니다.
하지만 실제로는 그 빈도가 생각보다 낮기 때문에,
오실로스코프로 하나하나 찍어보는 것을 추천드립니다.
일단 전압이 제대로 인가되고 있는지 보시고,
정말 기초적이지만 자주 하는 실수인 배선 상태도 확인하세요.
배선이 연결되어 있다고 해도, 단선 가능성이 있으니 쇼크 테스트도 꼭 해보시고요.
끝단과 끝단이 실제로 전기적으로 연결되어 있는지 확인하세요.
그 다음에는,
내 보드 핀에서 신호가 제대로 나가고 있는지 확인해보세요.
보드에서 신호가 나가는데도 센서가 응답하지 않는다면,
데이터시트를 보고, 온도 센서가 수신할 수 있는 클럭 주파수(Hz)가 맞는지 확인하세요.
그것도 맞다면,
이제 온도 센서 자체의 문제를 의심할 단계입니다.
이때가 오면, 저에게 연락 주세요.
온도 센서 하나 보내드리겠습니다.
👉ohjiwan@gmail.com 으로 연락 주세요.
그리고 센서를 교체했는데도 안 된다?
그럴 리가 없습니다... ㅠ_ㅠ
0
(8-1)와 (0xffff)로 설정했을 때는 동작 안하다가, (72-1)와 (0xffff)로 설정하니, 강의와 동일하게 작동하는 것을 확인할 수 있었습니다..!
이론 상 8MHz 일 때도, 동작해야할 것 같은데 왜 동작을 하지 않았는지는 아직은 잘 모르겠네요.
최근 며칠동안 고민하고 있다가 강사님 댓글에 힘입어 다시 시도해본 결과 성공하였습니다. 감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다.
신재훈님, DS18B20 센서를 사용하여 주소값이 0에서 변경되지 않는 문제에 대해 고민이 많으신 것 같습니다. 이 문제는 주로 하드웨어 연결 또는 설정과 관련이 있을 수 있으며, 여러 가지 확인해볼 사항이 있습니다.
하드웨어 연결 점검:
- 데이터 핀(DAT)은 제대로 연결되어있는지 확인하세요. 특히, 1-Wire 통신의 특성상 접속이 매우 중요하므로 PA3에 연결된 DAT 핀이 오작동할 가능성도 염두에 두셔야 합니다.
- 데이터 핀에 풀업 저항 (대개 4.7kΩ)을 연결하셨는지 확인하세요. 풀업 저항은 1-Wire 통신에서 반드시 필요합니다.
- 데이터 핀(DAT)은 제대로 연결되어있는지 확인하세요. 특히, 1-Wire 통신의 특성상 접속이 매우 중요하므로 PA3에 연결된 DAT 핀이 오작동할 가능성도 염두에 두셔야 합니다.
전원 및 지상 확인:
- Vcc를 3.3V로 연결하셨다는 점은 맞습니다. 하지만 전원 공급이 안정적인지 확인하는 것도 중요합니다.
- GND도 역시 잘 연결되었는지 이중 확인하세요.
- Vcc를 3.3V로 연결하셨다는 점은 맞습니다. 하지만 전원 공급이 안정적인지 확인하는 것도 중요합니다.
소프트웨어 코드 검토:
Ds18B20_Init()함수가 올바르게 호출되는지, 또는 초기화가 정상적으로 진행되는지 확인하세요. 이것은 디버거에서 브레이크포인트를 사용하여 가능합니다.
HAL_TIM_Base_Start_IT함수가 올바르게 작동하고 있는지도 확인하세요. 이 함수가 잘못 동작하면 타이머 값을 제대로 업데이트 하지 못할 수 있습니다.
라이브러리 및 설정:
- 사용하는 소프트웨어 라이브러리에 맞는 참조가 되고 있는지 확인해주세요. DS18B20 등 센서 라이브러리는 일부 설정 문제로 작동에 문제가 생길 수 있습니다.
- IOC(Kiel이나 CubeMX 설정 파일)가 정확하게 설정되었는지 다시 한번 확인하세요.
- 사용하는 소프트웨어 라이브러리에 맞는 참조가 되고 있는지 확인해주세요. DS18B20 등 센서 라이브러리는 일부 설정 문제로 작동에 문제가 생길 수 있습니다.
이미 유사한 사례를 처리한 게시물이 있으니 아래의 링크도 참조하시면 도움이 될 것입니다:
- DS18B20 온도 센서의 주소 값이 갱신되지 않을 때 확인할 사항
- DS18B20 센서 초기화 및 데이터 수신 문제 해결 방법
이 링크들에서는 주로 하드웨어 문제나 초기화 설정 확인에 대한 안내가 포함되어 있습니다.
문제 해결이 잘 되길 바라며, 지속적으로 문제가 해결되지 않을 경우, 강의 내 ‘문의하기’ 기능을 통해 강사님께 직접 문의해 보시는 것도 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
13강 프로젝트생성해보기 관련 질문
0
5
1
난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..
0
32
2
IDE 설치 영상 관련 문의
0
47
2
[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)
0
108
2
스위치회로 value값 바뀌지 않음
0
42
2
FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.
0
59
2
FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.
0
69
2
포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?
0
57
2
빌드 및 디버깅 오류
0
112
2
보드에 불이 안들어옵니다.
0
71
2
씽크 오류
0
54
1
고추건조기 개발보드 전원연결 문제점..
0
70
2
회로도 핀 연결 질문
0
66
2
elf 파일을 찾을수 없다는 오류
0
71
2
Nucleo 보드로 대체
0
84
2
구매해야 하는 물품 문의
0
94
2
ST-Link 디버깅 에러
0
83
3
강의 사용하시는 pdf는 어디에 있나요?
0
108
2
이전 질문 재질문입니다.!
0
74
2
다른 개발 실습 보드 사용문의
0
95
2
smt32 Cube Ide 설치관련 에러입니다
0
219
2
제가 1년전에 구매해서 이제 뜯어봤는데 납땜이 겹쳐있는데 사용해도 괜찮을까요?
0
93
2
타이머 최대 주파수 질문
0
64
2
초기 신호에 대한 질문
0
88
2





