이글은 온도센서를 제어하다가 RS-232 통신으로 온도값을 확인하는 중에 출력값이 확인되지 않아 찾아본 내용이다.
Cube MX 로 포트를 연결하고 Toolchain / IDE 에 SW4STM32 로 선택하여 코드를 생성하여 온도센서를 제어하였다.

문제의 printf 문은 아래와 같다.
Uart_Printf("Time: %4.0d sec \tTemp: %6.3f \r\n", time_cnt, temp_value);
그런데 왜 온도가 출력되지 않을까?

결론은 코드는 이상이 없다.
원인은 컴파일 프로그램인 SW4STM32에서 float 값을 전송가능하도록 해야하는 것으로 확인!!
아래와 같이 설정을 변경하고 결과를 확인해보자.
*Eiclipse 기반의 SW4STM32 컴파일러에서 설정
Project → Properties

설정 화면에서 C/C++ Build → Settings → Tool Settings → MCU GCC Linker → Miscellaneous 클릭

Other Options (...) 의 옆 Add... 클릭(녹색 +)


설정 마친 화면 OK 클릭하고 팝업을 닫는다.

이제 확인해보자!!

잘나온다... 나중에 또 잊어버리겠지 그때를 위해 끄적끄적...
좋은 하루^^
'ARM > Cortex-M3 실습' 카테고리의 다른 글
System Workbench sw4stm32 설치하기 (1) | 2019.06.19 |
---|---|
드라이버 잡기(STM32 STLink) (0) | 2019.06.19 |
댓글