STM32 펌웨어 C++ 로 개발하기
STM32CubeIDE 에서 프로젝트에 적용할 컴파일러를 C 나 C++ 로 선택 가능하다.
C++ 컴파일러로 선택하면 C++, C 컴파일도 같이 이뤄지는 것이고 C 컴파일러로 선택되어있다면 C++ class 는 인지 하지도 못하는 순수 C 언어 컴파일만 가능하다.
STM32CubeIDE 의 프로젝트에 적용할 C/C++ 컴파일러 선택 방법
STM32CubeIDE 에서 생성되어있는 프로젝트 마우스 우 클릭 메뉴에서 Convert to C++ (아래 그림 붉은 라인) 이 보이면 현재 프로젝트 C 컴파일러가 선택되어있는 상태고, Convert to C++ 클릭하면 즉시 C++ 컴파일러가 적용된다.
반대로 현재 프로젝트의 컴파일러가 C++ 이 적용중이면 Convert to C 가 보인다.
소스파일 확장자를 cpp 로 해야 C++ 컴파일러 적용됨
앞에서 프로젝트에 적용할 컴파일러를 C++ 로 했다고 C++ 컴파일 되지 않으며 소스파일 확장자가 .c 이것은 C 컴파일하며 .cpp 파일은 C++ 컴파일 적용된다.
내 소스코드의 main.c 를 C++ 컴파일 하려면 파일명을 main.cpp 로 수정해야 한다.
main.cpp 에서 C++ class 시험 해봄
STM32CubeIDE 에서 자동생성된 main.c 파일을 main.cpp 로 수정하고 아래와 같이 C++ 클래스 구문들 작성하고 빌드해본 결과 정상 빌드확인함.
아래 코드 살펴보면 라인 57 에서 클래스 선언했고, 클래스 멤버 함수 void f() 를 라인 64 에서 정의했다.
main 진입하여 라인 79에서 클래스 인스턴스 동적 생성하고 , 라인 81 에서 멤버 함수 호출하고, 라인 83 에서 동적생성했던 클래스 인스턴스 제거.
빌드 콘솔창보면 오류없이 빌드 성공.
연관
C/C++. C 에서 C++ 함수 호출하기. extern "C" 선언. C++ 에서 C함수 호출.
C 에서 C++ 함수 호출 C와 C++ 이 혼재된 프로젝트에서 C++ 에서 정의된 함수를 C 에서 호출하는 방법. C++ 측에 C에 노출시킬 함수에 extern "C" 선언 추가된것은 C에서 호출가능함. /// C++ mycpp.cpp 측 코드
igotit.tistory.com
STM32CubeIDE.
STM32CubeIDE - 이클립스기반 STM32 C/C++ 개발 플랫폼. STM32 칩 제조사가 직접 관리, 배포 주체. - 무료. features Integration of services from STM32CubeMX: STM32 microcontroller, microprocessor, development platform and example projec
igotit.tistory.com
상위정리
STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리.
STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF52 블투 무선솔루
igotit.tistory.com
첫 등록 : 2023.07.06
최종 수정 :
단축 주소 : https://igotit.tistory.com/4683
'임베디드.일렉트로닉스' 카테고리의 다른 글
GH3220 . 심장 ECG PPG 측정 칩 (0) | 2023.07.10 |
---|---|
SFH2201 . 포토다이오드 . Enhanced Blue Sensitivity (0) | 2023.07.10 |
OLED 디스플레이 . 소형 . (0) | 2023.02.08 |
무선 충전 모듈 . 코일 (0) | 2023.01.31 |
블루투스 오디오 모듈 . 초저가 1,000원 ~ 2,500원 (0) | 2023.01.31 |
댓글