온도 소스코드 작성 후 디버깅
211
작성한 질문수 6
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 자주 묻는 질문에 혹시 답이 있을 수 있어요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 강의에 나온 것처럼 메인함수에서 TogglePin과 HAL_Delay함수를 실행했을 때 2초마다 드라이기가 커졌다 꺼졌다 하는 것까진 되는데 아래 사진처럼 코드 작성하고 디버깅을 하면 Ds18b20_Init();에서 넘어가지않고 온도만 업뎃됩니다 ㅠ 그리고 넘어간 적도 있었는데 넘어가면 Ds18b20_ManualConvert(); 이 부분에서 아무리 계속 Resume을 눌러도 계속 이 부분에 머물러서 온도정보만 업뎃되네요 어떤 게 문제인지 잘 모르겠어서 여쭤보게되었습니다 (온도센서랑 stm 핀들도 pa3이랑 잘 연결했어요 )


답변 3
0
이건 코드를 봐야알것 같아요.
타이머 설정을 잘 못해서 너무 많은 인터럽트가 일어 나면서
온도 정보만 주구 장창 가져오는게 아닌가.. 한번 봐보세요.
그리고, 인터럽트 안에서 또 인터럽트를 호출하는 구조가 있지는 않은지..
이것도 저것도 안되면.
기능을 하나씩 주석 처리 해보면서..
어떤 기능을 동작 시켰을 때 문제가 시작되는지 봐보세요.
그러면 문제를 찾을 수 있어요.
0
클럭설정과 관련해서는 강의영상이랑 똑같이 설정했는데 디버깅해보니까 while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
{
if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
{
return HAL_TIMEOUT;
}
}
여기서 문제가 생기는 것 같은데 그럼 클럭을 조정해야하는건지 알 수 있을까요?
찾아보니까 HSE를 써서 그런 것 같은데 외부오실레이터를 사용하지 않는 방법은 없는걸까요..?!

아니면 제가 아까 ioc 작업할 때 갑자기 디버깅하려는데 SPI1에 오류가 떠있길래 프리스케일러를 spi2와 동일하게 설정했었는데 이게 문제가 되었을까요?
0
아 제가 breakpoint를 걸어놨어서 그걸 해제하고 다시 디버깅해봤는데 SystemClock_Config에서 멈추는 것 같네요..live expression에선 온도 정보가 계속 업뎃되긴해요 그치만 이 함수에서 resume 버튼도 이제 안되어서 어디가 문제인건지 잘 모르겠네요 ㅠ

0
resume버튼은, 디버거에 걸렸을때 활성화가 돼요.
원래 활성화가 안 되는게 정상이예요.
침착하게, 하나씩 하나씩 생각하면서 해결하셔야 해요.
한번에 다 보려고 하지말고, 이해를 바탕으로 하나씩 점검을 하셔야 합니다.
아무튼, 클럭을 건드셨으면 문제가 될 수 있는 건 맞아요.
제거 TIM 쪽 강의 하는 부분에서, 클럭이 어떻게 설정되면, 몇 초 간격으로 인터럽트가 일어난다 라고 설명한 부분이 있는데.
그부분을 잘 이해보시면, 문제가 해결이 될 것 같아요.
0
안녕하세요, 인프런 AI 인턴입니다. 정민지님!
DS18B20 온도 센서를 사용하면서 코드 실행 중 디버깅을 하다 특정 함수에서 멈추는 것에 대해 고민이 많으신 것 같습니다. 이런 상황에서 확인해야 할 몇 가지 사항을 정리해 드리겠습니다.
센서 초기화 실패:
Ds18b20_Init();함수에서 멈춘다면, 센서 초기화 과정에 문제가 발생했을 가능성이 있습니다. 센서가 제대로 연결되어 있으며, 모든 핀이 맞게 설정되었는지 확인하세요.
라이브러리 및 설정 확인:
- 사용 중인 라이브러리가 최신인지, 설정이 올바르게 되었는지 점검하세요. 간혹 라이브러리 버전 차이로 인해 생길 수 있는 문제입니다.
- 사용 중인 라이브러리가 최신인지, 설정이 올바르게 되었는지 점검하세요. 간혹 라이브러리 버전 차이로 인해 생길 수 있는 문제입니다.
전원 공급 확인:
- DS18B20 센서는 올바른 전원 공급(3.0V 이상)이 필요합니다. 전압이 부족하면 작동이 불안정할 수 있으니, 전원이 정상인지 확인하세요.
- DS18B20 센서는 올바른 전원 공급(3.0V 이상)이 필요합니다. 전압이 부족하면 작동이 불안정할 수 있으니, 전원이 정상인지 확인하세요.
디버깅 툴 활용:
- 디버깅 도구를 사용하여 함수들이 어떻게 호출되고 있는지, 어느 부분에서 지연이 발생하는지 자세히 확인해 보세요. Resume 기능 사용시 무한 대기 상태로 넘어가고 있다면, 논리 로직을 다시 점검해보는 것이 중요합니다.
- 디버깅 도구를 사용하여 함수들이 어떻게 호출되고 있는지, 어느 부분에서 지연이 발생하는지 자세히 확인해 보세요. Resume 기능 사용시 무한 대기 상태로 넘어가고 있다면, 논리 로직을 다시 점검해보는 것이 중요합니다.
풀업 저항:
- 데이터 라인에 풀업 저항이 제대로 연결되어 있는지 확인합니다. 이 저항은 특히 1-Wire 통신에 필수적입니다.
- 데이터 라인에 풀업 저항이 제대로 연결되어 있는지 확인합니다. 이 저항은 특히 1-Wire 통신에 필수적입니다.
비슷한 문제를 해결할 수 있는 기존 게시물들도 참고해 보세요:
- DS18B20 센서의 초기화 및 통신 문제 해결 방법
- 임베디드 개발 관련 DS18B20 데이터 처리 방법 사례
위의 정보를 바탕으로 문제를 확인하시고, 해결해 보시길 바랍니다. 만약 문제 해결이 여전히 어렵다면, 1:1 문의하기를 통해 직접적인 지식공유자의 조언을 받아보시기를 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
13강 프로젝트생성해보기 관련 질문
0
19
3
난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..
0
34
2
IDE 설치 영상 관련 문의
0
48
2
[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)
0
127
2
스위치회로 value값 바뀌지 않음
0
44
2
FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.
0
60
2
FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.
0
72
2
포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?
0
58
2
빌드 및 디버깅 오류
0
113
2
보드에 불이 안들어옵니다.
0
72
2
씽크 오류
0
56
1
고추건조기 개발보드 전원연결 문제점..
0
72
2
회로도 핀 연결 질문
0
67
2
elf 파일을 찾을수 없다는 오류
0
71
2
Nucleo 보드로 대체
0
85
2
구매해야 하는 물품 문의
0
96
2
ST-Link 디버깅 에러
0
83
3
강의 사용하시는 pdf는 어디에 있나요?
0
109
2
이전 질문 재질문입니다.!
0
76
2
다른 개발 실습 보드 사용문의
0
95
2
smt32 Cube Ide 설치관련 에러입니다
0
228
2
제가 1년전에 구매해서 이제 뜯어봤는데 납땜이 겹쳐있는데 사용해도 괜찮을까요?
0
93
2
타이머 최대 주파수 질문
0
64
2
초기 신호에 대한 질문
0
88
2





